From 91e74ac65045a778bf7e23f418685c0b36779edd Mon Sep 17 00:00:00 2001 From: Gao Xiang Date: Wed, 11 Dec 2024 17:27:04 +0800 Subject: [PATCH] erofs-utils: mkfs: add `-U ` support To match `mke2fs`. Signed-off-by: Gao Xiang Link: https://lore.kernel.org/r/20241211092704.4008111-1-hsiangkao@linux.alibaba.com --- man/mkfs.erofs.1 | 11 +++++++++++ mkfs/main.c | 7 ++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/man/mkfs.erofs.1 b/man/mkfs.erofs.1 index abdd9b9..0093839 100644 --- a/man/mkfs.erofs.1 +++ b/man/mkfs.erofs.1 @@ -110,6 +110,17 @@ Set the universally unique identifier (UUID) of the filesystem to .IR UUID . The format of the UUID is a series of hex digits separated by hyphens, like this: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". +The +.I UUID +parameter may also be one of the following: +.RS 1.2i +.TP +.I clear +clear the file system UUID +.TP +.I random +generate a new randomly-generated UUID +.RE .TP .B \-\-all-root Make all files owned by root. diff --git a/mkfs/main.c b/mkfs/main.c index d422787..17b1f46 100644 --- a/mkfs/main.c +++ b/mkfs/main.c @@ -617,7 +617,12 @@ static int mkfs_parse_options_cfg(int argc, char *argv[]) has_timestamp = true; break; case 'U': - if (erofs_uuid_parse(optarg, fixeduuid)) { + if (!strcmp(optarg, "clear")) { + memset(fixeduuid, 0, 16); + } else if (!strcmp(optarg, "random")) { + valid_fixeduuid = false; + break; + } else if (erofs_uuid_parse(optarg, fixeduuid)) { erofs_err("invalid UUID %s", optarg); return -EINVAL; } -- 2.34.1