To match `mke2fs`.

Signed-off-by: Gao Xiang <hsiang...@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 e7da588..ee84163 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 c92f408..6a5dc66 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -620,7 +620,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.43.5

Reply via email to