From c23a0bbab30cc1714b6b1d6a1c153a5ccab3f0d8 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 22 May 2019 21:23:39 -0400 Subject: [PATCH] convenience helper: get_tree_single() counterpart of mount_single(); switch fusectl to it Signed-off-by: Al Viro --- fs/fuse/control.c | 2 +- fs/super.c | 8 ++++++++ include/linux/fs_context.h | 3 +++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/fuse/control.c b/fs/fuse/control.c index 14ce1e47f980..c23f6f243ad4 100644 --- a/fs/fuse/control.c +++ b/fs/fuse/control.c @@ -346,7 +346,7 @@ static int fuse_ctl_fill_super(struct super_block *sb, struct fs_context *fctx) static int fuse_ctl_get_tree(struct fs_context *fc) { - return vfs_get_super(fc, vfs_get_single_super, fuse_ctl_fill_super); + return get_tree_single(fc, fuse_ctl_fill_super); } static const struct fs_context_operations fuse_ctl_context_ops = { diff --git a/fs/super.c b/fs/super.c index 3318225b0878..113c58f19425 100644 --- a/fs/super.c +++ b/fs/super.c @@ -1206,6 +1206,14 @@ int get_tree_nodev(struct fs_context *fc, } EXPORT_SYMBOL(get_tree_nodev); +int get_tree_single(struct fs_context *fc, + int (*fill_super)(struct super_block *sb, + struct fs_context *fc)) +{ + return vfs_get_super(fc, vfs_get_single_super, fill_super); +} +EXPORT_SYMBOL(get_tree_single); + #ifdef CONFIG_BLOCK static int set_bdev_super(struct super_block *s, void *data) { diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h index 38b1ec918a4e..1775969e000d 100644 --- a/include/linux/fs_context.h +++ b/include/linux/fs_context.h @@ -154,6 +154,9 @@ extern int vfs_get_super(struct fs_context *fc, extern int get_tree_nodev(struct fs_context *fc, int (*fill_super)(struct super_block *sb, struct fs_context *fc)); +extern int get_tree_single(struct fs_context *fc, + int (*fill_super)(struct super_block *sb, + struct fs_context *fc)); extern const struct file_operations fscontext_fops;