diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-18 23:15:58 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-18 23:15:58 +0300 |
commit | e170eb27715fc9253ae031297d0638a3ef51b5da (patch) | |
tree | 3ae951bf6e1b759f91469a0a71ee0f59651bcc29 /include | |
parent | b30d87cf969e1711f1f621b6b61efb145ee6c6d9 (diff) | |
parent | 0f071004109d9c8de7023b9a64fa2ba3fa87cbed (diff) | |
download | linux-e170eb27715fc9253ae031297d0638a3ef51b5da.tar.xz |
Merge branch 'work.mount-base' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs mount API infrastructure updates from Al Viro:
"Infrastructure bits of mount API conversions.
The rest is more of per-filesystem updates and that will happen
in separate pull requests"
* 'work.mount-base' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
mtd: Provide fs_context-aware mount_mtd() replacement
vfs: Create fs_context-aware mount_bdev() replacement
new helper: get_tree_keyed()
vfs: set fs_context::user_ns for reconfigure
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fs_context.h | 12 | ||||
-rw-r--r-- | include/linux/mtd/super.h | 3 |
2 files changed, 14 insertions, 1 deletions
diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h index 7c6fe3d47fa6..84a5eaa09f19 100644 --- a/include/linux/fs_context.h +++ b/include/linux/fs_context.h @@ -88,6 +88,7 @@ struct fs_context { struct mutex uapi_mutex; /* Userspace access mutex */ struct file_system_type *fs_type; void *fs_private; /* The filesystem's context */ + void *sget_key; struct dentry *root; /* The root and superblock */ struct user_namespace *user_ns; /* The user namespace for this mount */ struct net *net_ns; /* The network namespace for this mount */ @@ -136,7 +137,7 @@ extern int vfs_get_tree(struct fs_context *fc); extern void put_fs_context(struct fs_context *fc); /* - * sget() wrapper to be called from the ->get_tree() op. + * sget() wrappers to be called from the ->get_tree() op. */ enum vfs_get_super_keying { vfs_get_single_super, /* Only one such superblock may exist */ @@ -147,12 +148,21 @@ extern int vfs_get_super(struct fs_context *fc, enum vfs_get_super_keying keying, int (*fill_super)(struct super_block *sb, 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 int get_tree_keyed(struct fs_context *fc, + int (*fill_super)(struct super_block *sb, + struct fs_context *fc), + void *key); + +extern int get_tree_bdev(struct fs_context *fc, + int (*fill_super)(struct super_block *sb, + struct fs_context *fc)); extern const struct file_operations fscontext_fops; diff --git a/include/linux/mtd/super.h b/include/linux/mtd/super.h index 056c9932c723..42db3f8e8136 100644 --- a/include/linux/mtd/super.h +++ b/include/linux/mtd/super.h @@ -14,6 +14,9 @@ #include <linux/fs.h> #include <linux/mount.h> +extern int get_tree_mtd(struct fs_context *fc, + int (*fill_super)(struct super_block *sb, + struct fs_context *fc)); extern struct dentry *mount_mtd(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, int (*fill_super)(struct super_block *, void *, int)); |