Signed-off-by: David Howells <dhowells@xxxxxxxxxx> cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> cc: linux-fsdevel@xxxxxxxxxxxxxxx --- fs/nsfs.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/fs/nsfs.c b/fs/nsfs.c index 60702d677bd4..1a86ab9abaf7 100644 --- a/fs/nsfs.c +++ b/fs/nsfs.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include <linux/mount.h> +#include <linux/fs_context.h> #include <linux/file.h> #include <linux/fs.h> #include <linux/proc_ns.h> @@ -262,15 +263,17 @@ static const struct super_operations nsfs_ops = { .evict_inode = nsfs_evict, .show_path = nsfs_show_path, }; -static struct dentry *nsfs_mount(struct file_system_type *fs_type, - int flags, const char *dev_name, void *data) + +static int nsfs_init_fs_context(struct fs_context *fc) { - return mount_pseudo(fs_type, "nsfs:", &nsfs_ops, - &ns_dentry_operations, NSFS_MAGIC); + return vfs_init_pseudo_fs_context(fc, "nsfs:", + &nsfs_ops, NULL, + &ns_dentry_operations, NSFS_MAGIC); } + static struct file_system_type nsfs = { .name = "nsfs", - .mount = nsfs_mount, + .init_fs_context = nsfs_init_fs_context, .kill_sb = kill_anon_super, };