btrfs-progs: mkfs: extend -O syntax to disable features
authorDavid Sterba <dsterba@suse.cz>
Thu, 14 Nov 2013 13:30:45 +0000 (14:30 +0100)
committerChris Mason <chris.mason@fusionio.com>
Thu, 14 Nov 2013 17:21:17 +0000 (12:21 -0500)
A way of disabling features that are on by default in case it's not
wanted, eg. due to lack of support in the used kernel.

Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
mkfs.c

diff --git a/mkfs.c b/mkfs.c
index cd0af9e..f825e1b 100644 (file)
--- a/mkfs.c
+++ b/mkfs.c
@@ -1168,7 +1168,11 @@ static int parse_one_fs_feature(const char *name, u64 *flags)
        int found = 0;
 
        for (i = 0; i < ARRAY_SIZE(mkfs_features); i++) {
-               if (!strcmp(mkfs_features[i].name, name)) {
+               if (name[0] == '^' &&
+                       !strcmp(mkfs_features[i].name, name + 1)) {
+                       *flags &= ~ mkfs_features[i].flag;
+                       found = 1;
+               } else if (!strcmp(mkfs_features[i].name, name)) {
                        *flags |= mkfs_features[i].flag;
                        found = 1;
                }