]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
mkfs: do not allow both "dev" and "name" subopts for log or realtime
authorEric Sandeen <sandeen@redhat.com>
Thu, 4 Jan 2018 19:58:10 +0000 (13:58 -0600)
committerEric Sandeen <sandeen@redhat.com>
Thu, 4 Jan 2018 19:58:10 +0000 (13:58 -0600)
Todauy this works, with last-parsed-wins semantics:

mkfs.xfs -f -l logdev=/dev/sda1,name=/dev/sda2 /dev/sda3

Disallow it to avoid ambiguity.

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
mkfs/xfs_mkfs.c

index 60f9c5794bdec03d41a14756076a96c7dba22c63..5f1ac9fddff1b9dd2b253646513cdcbdb9219ce5 100644 (file)
@@ -507,6 +507,7 @@ struct opt_params lopts = {
                },
                { .index = L_DEV,
                  .conflicts = { { &lopts, L_AGNUM },
+                                { &lopts, L_NAME },
                                 { &lopts, L_INTERNAL },
                                 { NULL, LAST_CONFLICT } },
                  .defaultval = SUBOPT_NEEDS_VAL,
@@ -529,6 +530,7 @@ struct opt_params lopts = {
                },
                { .index = L_NAME,
                  .conflicts = { { &lopts, L_AGNUM },
+                                { &lopts, L_DEV },
                                 { &lopts, L_INTERNAL },
                                 { NULL, LAST_CONFLICT } },
                  .defaultval = SUBOPT_NEEDS_VAL,
@@ -599,7 +601,8 @@ struct opt_params ropts = {
                  .defaultval = SUBOPT_NEEDS_VAL,
                },
                { .index = R_DEV,
-                 .conflicts = { { NULL, LAST_CONFLICT } },
+                 .conflicts = { { &ropts, R_NAME },
+                                { NULL, LAST_CONFLICT } },
                  .defaultval = SUBOPT_NEEDS_VAL,
                },
                { .index = R_FILE,
@@ -609,7 +612,8 @@ struct opt_params ropts = {
                  .conflicts = { { NULL, LAST_CONFLICT } },
                },
                { .index = R_NAME,
-                 .conflicts = { { NULL, LAST_CONFLICT } },
+                 .conflicts = { { &ropts, R_DEV },
+                                { NULL, LAST_CONFLICT } },
                  .defaultval = SUBOPT_NEEDS_VAL,
                },
                { .index = R_NOALIGN,