introduce fs_context methods

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro
2018-12-23 18:55:56 -05:00
parent e1a91586d5
commit f3a09c9201
5 changed files with 65 additions and 16 deletions

View File

@@ -20,8 +20,13 @@ struct cred;
struct dentry;
struct file_operations;
struct file_system_type;
struct mnt_namespace;
struct net;
struct pid_namespace;
struct super_block;
struct user_namespace;
struct vfsmount;
struct path;
enum fs_context_purpose {
FS_CONTEXT_FOR_MOUNT, /* New superblock for explicit mount */
@@ -39,6 +44,7 @@ enum fs_context_purpose {
* See Documentation/filesystems/mounting.txt
*/
struct fs_context {
const struct fs_context_operations *ops;
struct file_system_type *fs_type;
void *fs_private; /* The filesystem's context */
struct dentry *root; /* The root and superblock */
@@ -54,6 +60,13 @@ struct fs_context {
bool need_free:1; /* Need to call ops->free() */
};
struct fs_context_operations {
void (*free)(struct fs_context *fc);
int (*parse_monolithic)(struct fs_context *fc, void *data);
int (*get_tree)(struct fs_context *fc);
int (*reconfigure)(struct fs_context *fc);
};
/*
* fs_context manipulation functions.
*/