[PATCH 2/5] erofs-utils: lib: add helper function erofs_uuid_unparse_as_tag
Lucas Karpinski
lkarpinski at nvidia.com
Tue Mar 3 07:01:51 AEDT 2026
Add helper function for converting uuid to tag. This will also be used in
rebuild FULLDATA mode.
Signed-off-by: Lucas Karpinski <lkarpinski at nvidia.com>
---
lib/liberofs_uuid.h | 1 +
lib/uuid_unparse.c | 16 +++++++++++++++-
mkfs/main.c | 11 +----------
3 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/lib/liberofs_uuid.h b/lib/liberofs_uuid.h
index 63b358a..c35762a 100644
--- a/lib/liberofs_uuid.h
+++ b/lib/liberofs_uuid.h
@@ -4,6 +4,7 @@
void erofs_uuid_generate(unsigned char *out);
void erofs_uuid_unparse_lower(const unsigned char *buf, char *out);
+void erofs_uuid_unparse_as_tag(const unsigned char *buf, char *out);
int erofs_uuid_parse(const char *in, unsigned char *uu);
#endif
diff --git a/lib/uuid_unparse.c b/lib/uuid_unparse.c
index 3255c4b..18e87d1 100644
--- a/lib/uuid_unparse.c
+++ b/lib/uuid_unparse.c
@@ -8,7 +8,8 @@
#include "erofs/config.h"
#include "liberofs_uuid.h"
-void erofs_uuid_unparse_lower(const unsigned char *buf, char *out) {
+void erofs_uuid_unparse_lower(const unsigned char *buf, char *out)
+{
sprintf(out, "%04x%04x-%04x-%04x-%04x-%04x%04x%04x",
(buf[0] << 8) | buf[1],
(buf[2] << 8) | buf[3],
@@ -19,3 +20,16 @@ void erofs_uuid_unparse_lower(const unsigned char *buf, char *out) {
(buf[12] << 8) | buf[13],
(buf[14] << 8) | buf[15]);
}
+
+void erofs_uuid_unparse_as_tag(const unsigned char *buf, char *out)
+{
+ sprintf(out, "%04x%04x%04x%04x%04x%04x%04x%04x",
+ (buf[0] << 8) | buf[1],
+ (buf[2] << 8) | buf[3],
+ (buf[4] << 8) | buf[5],
+ (buf[6] << 8) | buf[7],
+ (buf[8] << 8) | buf[9],
+ (buf[10] << 8) | buf[11],
+ (buf[12] << 8) | buf[13],
+ (buf[14] << 8) | buf[15]);
+}
diff --git a/mkfs/main.c b/mkfs/main.c
index 471bce2..a8f9a5e 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -1780,16 +1780,7 @@ static int erofs_mkfs_rebuild_load_trees(struct erofs_inode *root)
memcpy(devs[idx].tag, tag, sizeof(devs[0].tag));
else
/* convert UUID of the source image to a hex string */
- sprintf((char *)g_sbi.devs[idx].tag,
- "%04x%04x%04x%04x%04x%04x%04x%04x",
- (src->uuid[0] << 8) | src->uuid[1],
- (src->uuid[2] << 8) | src->uuid[3],
- (src->uuid[4] << 8) | src->uuid[5],
- (src->uuid[6] << 8) | src->uuid[7],
- (src->uuid[8] << 8) | src->uuid[9],
- (src->uuid[10] << 8) | src->uuid[11],
- (src->uuid[12] << 8) | src->uuid[13],
- (src->uuid[14] << 8) | src->uuid[15]);
+ erofs_uuid_unparse_as_tag(src->uuid, (char *)g_sbi.devs[idx].tag);
}
return 0;
}
--
Git-155)
More information about the Linux-erofs
mailing list