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.

Signed-off-by: Guangliang Zhao <lucienc...@gmail.com>
Reviewed-by: David Sterba <dste...@suse.cz>
---

V2: return -EINVAL when ACL didn't complied in 

 fs/btrfs/super.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index 363404b..1046e66 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -580,8 +580,15 @@ int btrfs_parse_options(struct btrfs_root *root, char 
*options)
                        }
                        break;
                case Opt_acl:
+#ifdef CONFIG_BTRFS_FS_POSIX_ACL
                        root->fs_info->sb->s_flags |= MS_POSIXACL;
                        break;
+#else
+                       btrfs_err(root->fs_info,
+                               "support for ACL not compiled in!");
+                       ret = -EINVAL;
+                       goto out;
+#endif
                case Opt_noacl:
                        root->fs_info->sb->s_flags &= ~MS_POSIXACL;
                        break;
-- 
1.7.9.5

--
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

Reply via email to