fs: fsconfig: intercept non-new mount API in advance for FSCONFIG_CMD_CREATE_EXCL command
fsconfig with FSCONFIG_CMD_CREATE_EXCL command requires the new mount api, here we should return -EOPNOTSUPP in advance to avoid extra procedure. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Link: https://lore.kernel.org/r/20240522030422.315892-1-lihongbo22@huawei.com Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
3aa63a569c
commit
ef44c8ab06
@ -220,10 +220,6 @@ static int vfs_cmd_create(struct fs_context *fc, bool exclusive)
|
|||||||
if (!mount_capable(fc))
|
if (!mount_capable(fc))
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
||||||
/* require the new mount api */
|
|
||||||
if (exclusive && fc->ops == &legacy_fs_context_ops)
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
|
|
||||||
fc->phase = FS_CONTEXT_CREATING;
|
fc->phase = FS_CONTEXT_CREATING;
|
||||||
fc->exclusive = exclusive;
|
fc->exclusive = exclusive;
|
||||||
|
|
||||||
@ -411,6 +407,7 @@ SYSCALL_DEFINE5(fsconfig,
|
|||||||
case FSCONFIG_SET_PATH:
|
case FSCONFIG_SET_PATH:
|
||||||
case FSCONFIG_SET_PATH_EMPTY:
|
case FSCONFIG_SET_PATH_EMPTY:
|
||||||
case FSCONFIG_SET_FD:
|
case FSCONFIG_SET_FD:
|
||||||
|
case FSCONFIG_CMD_CREATE_EXCL:
|
||||||
ret = -EOPNOTSUPP;
|
ret = -EOPNOTSUPP;
|
||||||
goto out_f;
|
goto out_f;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user