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: 82995cc6c5ae ("libceph, rbd, ceph: convert to use the new mount API") Signed-off-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
This commit is contained in:
parent
b27a939e83
commit
3b20bc2fe4
@ -1032,10 +1032,6 @@ static int ceph_get_tree(struct fs_context *fc)
|
||||
if (!fc->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) */
|
||||
fsc = create_fs_client(pctx->opts, pctx->copts);
|
||||
pctx->opts = NULL;
|
||||
@ -1158,6 +1154,10 @@ static int ceph_init_fs_context(struct fs_context *fc)
|
||||
fsopt->max_readdir_bytes = CEPH_MAX_READDIR_BYTES_DEFAULT;
|
||||
fsopt->congestion_kb = default_congestion_kb();
|
||||
|
||||
#ifdef CONFIG_CEPH_FS_POSIX_ACL
|
||||
fc->sb_flags |= SB_POSIXACL;
|
||||
#endif
|
||||
|
||||
fc->fs_private = pctx;
|
||||
fc->ops = &ceph_context_ops;
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user