On Fri, May 09, 2014 at 03:21:09PM +0200, David Sterba wrote: > On Thu, May 08, 2014 at 12:56:32PM +0800, Guangliang Zhao wrote: > > Even CONFIG_BTRFS_FS_POSIX_ACL is not defined, the acl still could > > been enabled using a mount option, and now fs/btrfs/acl.o is not > > built, so the mount options will appear to be supported but will > > be silently ignored. > > > > --- a/fs/btrfs/super.c > > +++ b/fs/btrfs/super.c > > @@ -579,9 +579,11 @@ int btrfs_parse_options(struct btrfs_root *root, char > > *options) > > goto out; > > } > > break; > > +#ifdef CONFIG_BTRFS_FS_POSIX_ACL > > case Opt_acl: > > root->fs_info->sb->s_flags |= MS_POSIXACL; > > break; > > +#endif > > This will still silently accept the 'acl' mount option: > > token = match_token(p, tokens, args); > > token will be Opt_acl > > and in the switch(token), caught by the default: branch and will return 0.
Didn't take care of it, good catch :-). I will send V2 ASAP. > > What' needed here is a #if/#else/#endif sequence where the #else block > says that something like "acls requested but not compiled in". > > Similar to how the Opt_check_integrity* options are handled. > > > case Opt_noacl: > > root->fs_info->sb->s_flags &= ~MS_POSIXACL; > > break; -- Best regards, Guangliang -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
