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 majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html