David Sterba
2013-Nov-14 13:30 UTC
[PATCH] btrfs-progs: mkfs: extend -O syntax to disable features
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> --- mkfs.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mkfs.c b/mkfs.c index cd0af9ef8b4f..f825e1b6bc2d 100644 --- 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; } -- 1.8.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Chris Mason
2013-Nov-14 13:56 UTC
Re: [PATCH] btrfs-progs: mkfs: extend -O syntax to disable features
Quoting David Sterba (2013-11-14 08:30:45)> 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> > --- > mkfs.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/mkfs.c b/mkfs.c > index cd0af9ef8b4f..f825e1b6bc2d 100644 > --- 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; > }Perfect, I was going to do this today so I can enable extrefs. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
David Sterba
2013-Nov-14 14:14 UTC
Re: [PATCH] btrfs-progs: mkfs: extend -O syntax to disable features
On Thu, Nov 14, 2013 at 08:56:13AM -0500, Chris Mason wrote:> Quoting David Sterba (2013-11-14 08:30:45) > > 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> > > --- > > mkfs.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/mkfs.c b/mkfs.c > > index cd0af9ef8b4f..f825e1b6bc2d 100644 > > --- 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; > > } > > Perfect, I was going to do this today so I can enable extrefs.Just sent :) -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Chris Mason
2013-Nov-14 17:26 UTC
Re: [PATCH] btrfs-progs: mkfs: extend -O syntax to disable features
Quoting David Sterba (2013-11-14 09:14:14)> On Thu, Nov 14, 2013 at 08:56:13AM -0500, Chris Mason wrote: > > Quoting David Sterba (2013-11-14 08:30:45) > > > 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> > > > --- > > > mkfs.c | 6 +++++- > > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > > > diff --git a/mkfs.c b/mkfs.c > > > index cd0af9ef8b4f..f825e1b6bc2d 100644 > > > --- 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; > > > } > > > > Perfect, I was going to do this today so I can enable extrefs. > > Just sent :)-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Seemingly Similar Threads
- [PATCH] btrfs-progs: mkfs: add -O option to specify fs features
- [PATCH] Btrfs-progs: receive: fix the case that we can not find subvolume
- [PATCH] btrfs: rename the option to nospace_cache
- [PATCH 0/3] Send: minor cleanups, add RO checks
- [PATCH] btrfs: mask out gfp flasg in releasepage