diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2018-11-04 06:48:34 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-01-30 17:44:24 -0500 |
commit | 8f2918898eb5fe25845dde7f4a77bda0e2966e05 (patch) | |
tree | d433855ae4023d71572bfa875509a3a8687f145e /include/linux/mount.h | |
parent | 9bc61ab18b1d41f26dc06b9e6d3c203e65f83fe6 (diff) | |
download | lwn-8f2918898eb5fe25845dde7f4a77bda0e2966e05.tar.gz lwn-8f2918898eb5fe25845dde7f4a77bda0e2966e05.zip |
new helpers: vfs_create_mount(), fc_mount()
Create a new helper, vfs_create_mount(), that creates a detached vfsmount
object from an fs_context that has a superblock attached to it.
Almost all uses will be paired with immediately preceding vfs_get_tree();
add a helper for such combination.
Switch vfs_kern_mount() to use this.
NOTE: mild behaviour change; passing NULL as 'device name' to
something like procfs will change /proc/*/mountstats - "device none"
instead on "no device". That is consistent with /proc/mounts et.al.
[do'h - EXPORT_SYMBOL_GPL slipped in by mistake; removed]
[AV -- remove confused comment from vfs_create_mount()]
[AV -- removed the second argument]
Reviewed-by: David Howells <dhowells@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/mount.h')
-rw-r--r-- | include/linux/mount.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/mount.h b/include/linux/mount.h index 037eed52164b..9197ddbf35fb 100644 --- a/include/linux/mount.h +++ b/include/linux/mount.h @@ -21,6 +21,7 @@ struct super_block; struct vfsmount; struct dentry; struct mnt_namespace; +struct fs_context; #define MNT_NOSUID 0x01 #define MNT_NODEV 0x02 @@ -88,6 +89,8 @@ struct path; extern struct vfsmount *clone_private_mount(const struct path *path); struct file_system_type; +extern struct vfsmount *fc_mount(struct fs_context *fc); +extern struct vfsmount *vfs_create_mount(struct fs_context *fc); extern struct vfsmount *vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void *data); |