Commit 3b20bc2f authored by Xiubo Li's avatar Xiubo Li Committed by Ilya Dryomov

ceph: noacl mount option is effectively ignored

For the old mount API, the module parameters parseing function will
be called in ceph_mount() and also just after the default posix acl
flag set, so we can control to enable/disable it via the mount option.

But for the new mount API, it will call the module parameters
parseing function before ceph_get_tree(), so the posix acl will always
be enabled.

Fixes: 82995cc6 ("libceph, rbd, ceph: convert to use the new mount API")
Signed-off-by: default avatarXiubo Li <xiubli@redhat.com>
Reviewed-by: default avatarIlya Dryomov <idryomov@gmail.com>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent b27a939e
...@@ -1032,10 +1032,6 @@ static int ceph_get_tree(struct fs_context *fc) ...@@ -1032,10 +1032,6 @@ static int ceph_get_tree(struct fs_context *fc)
if (!fc->source) if (!fc->source)
return invalfc(fc, "No source"); return invalfc(fc, "No source");
#ifdef CONFIG_CEPH_FS_POSIX_ACL
fc->sb_flags |= SB_POSIXACL;
#endif
/* create client (which we may/may not use) */ /* create client (which we may/may not use) */
fsc = create_fs_client(pctx->opts, pctx->copts); fsc = create_fs_client(pctx->opts, pctx->copts);
pctx->opts = NULL; pctx->opts = NULL;
...@@ -1158,6 +1154,10 @@ static int ceph_init_fs_context(struct fs_context *fc) ...@@ -1158,6 +1154,10 @@ static int ceph_init_fs_context(struct fs_context *fc)
fsopt->max_readdir_bytes = CEPH_MAX_READDIR_BYTES_DEFAULT; fsopt->max_readdir_bytes = CEPH_MAX_READDIR_BYTES_DEFAULT;
fsopt->congestion_kb = default_congestion_kb(); fsopt->congestion_kb = default_congestion_kb();
#ifdef CONFIG_CEPH_FS_POSIX_ACL
fc->sb_flags |= SB_POSIXACL;
#endif
fc->fs_private = pctx; fc->fs_private = pctx;
fc->ops = &ceph_context_ops; fc->ops = &ceph_context_ops;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment