diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-05-22 21:23:39 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-07-04 22:01:58 -0400 |
commit | c23a0bbab30cc1714b6b1d6a1c153a5ccab3f0d8 (patch) | |
tree | b58d6ed34a26200796664d1dca3c10629cfdb8ea | |
parent | 2ac295d4f0c095310addbcb03d91d2a4c9f7d435 (diff) |
convenience helper: get_tree_single()
counterpart of mount_single(); switch fusectl to it
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/fuse/control.c | 2 | ||||
-rw-r--r-- | fs/super.c | 8 | ||||
-rw-r--r-- | include/linux/fs_context.h | 3 |
3 files changed, 12 insertions, 1 deletions
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; |