Add helper function for converting uuid to tag. This will also be used in rebuild FULLDATA mode.
Signed-off-by: Lucas Karpinski <[email protected]> --- 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)
