diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/dcache.h | 1 | ||||
-rw-r--r-- | include/linux/fs.h | 21 | ||||
-rw-r--r-- | include/linux/fs_context.h | 7 | ||||
-rw-r--r-- | include/linux/init.h | 5 | ||||
-rw-r--r-- | include/linux/pseudo_fs.h | 16 | ||||
-rw-r--r-- | include/linux/ramfs.h | 1 | ||||
-rw-r--r-- | include/linux/syscalls.h | 4 |
7 files changed, 29 insertions, 26 deletions
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 5e0eadf7de55..9451011ac014 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
@@ -291,7 +291,6 @@ static inline unsigned d_count(const struct dentry *dentry) | |||
291 | */ | 291 | */ |
292 | extern __printf(4, 5) | 292 | extern __printf(4, 5) |
293 | char *dynamic_dname(struct dentry *, char *, int, const char *, ...); | 293 | char *dynamic_dname(struct dentry *, char *, int, const char *, ...); |
294 | extern char *simple_dname(struct dentry *, char *, int); | ||
295 | 294 | ||
296 | extern char *__d_path(const struct path *, const struct path *, char *, int); | 295 | extern char *__d_path(const struct path *, const struct path *, char *, int); |
297 | extern char *d_absolute_path(const struct path *, char *, int); | 296 | extern char *d_absolute_path(const struct path *, char *, int); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index 75f2ed289a3f..56b8e358af5c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2210,9 +2210,6 @@ struct file_system_type { | |||
2210 | 2210 | ||
2211 | #define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME) | 2211 | #define MODULE_ALIAS_FS(NAME) MODULE_ALIAS("fs-" NAME) |
2212 | 2212 | ||
2213 | extern struct dentry *mount_ns(struct file_system_type *fs_type, | ||
2214 | int flags, void *data, void *ns, struct user_namespace *user_ns, | ||
2215 | int (*fill_super)(struct super_block *, void *, int)); | ||
2216 | #ifdef CONFIG_BLOCK | 2213 | #ifdef CONFIG_BLOCK |
2217 | extern struct dentry *mount_bdev(struct file_system_type *fs_type, | 2214 | extern struct dentry *mount_bdev(struct file_system_type *fs_type, |
2218 | int flags, const char *dev_name, void *data, | 2215 | int flags, const char *dev_name, void *data, |
@@ -2252,28 +2249,10 @@ void free_anon_bdev(dev_t); | |||
2252 | struct super_block *sget_fc(struct fs_context *fc, | 2249 | struct super_block *sget_fc(struct fs_context *fc, |
2253 | int (*test)(struct super_block *, struct fs_context *), | 2250 | int (*test)(struct super_block *, struct fs_context *), |
2254 | int (*set)(struct super_block *, struct fs_context *)); | 2251 | int (*set)(struct super_block *, struct fs_context *)); |
2255 | struct super_block *sget_userns(struct file_system_type *type, | ||
2256 | int (*test)(struct super_block *,void *), | ||
2257 | int (*set)(struct super_block *,void *), | ||
2258 | int flags, struct user_namespace *user_ns, | ||
2259 | void *data); | ||
2260 | struct super_block *sget(struct file_system_type *type, | 2252 | struct super_block *sget(struct file_system_type *type, |
2261 | int (*test)(struct super_block *,void *), | 2253 | int (*test)(struct super_block *,void *), |
2262 | int (*set)(struct super_block *,void *), | 2254 | int (*set)(struct super_block *,void *), |
2263 | int flags, void *data); | 2255 | int flags, void *data); |
2264 | extern struct dentry *mount_pseudo_xattr(struct file_system_type *, char *, | ||
2265 | const struct super_operations *ops, | ||
2266 | const struct xattr_handler **xattr, | ||
2267 | const struct dentry_operations *dops, | ||
2268 | unsigned long); | ||
2269 | |||
2270 | static inline struct dentry * | ||
2271 | mount_pseudo(struct file_system_type *fs_type, char *name, | ||
2272 | const struct super_operations *ops, | ||
2273 | const struct dentry_operations *dops, unsigned long magic) | ||
2274 | { | ||
2275 | return mount_pseudo_xattr(fs_type, name, ops, NULL, dops, magic); | ||
2276 | } | ||
2277 | 2256 | ||
2278 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ | 2257 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ |
2279 | #define fops_get(fops) \ | 2258 | #define fops_get(fops) \ |
diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h index 4933187d5b9a..7c6fe3d47fa6 100644 --- a/include/linux/fs_context.h +++ b/include/linux/fs_context.h | |||
@@ -99,6 +99,7 @@ struct fs_context { | |||
99 | void *s_fs_info; /* Proposed s_fs_info */ | 99 | void *s_fs_info; /* Proposed s_fs_info */ |
100 | unsigned int sb_flags; /* Proposed superblock flags (SB_*) */ | 100 | unsigned int sb_flags; /* Proposed superblock flags (SB_*) */ |
101 | unsigned int sb_flags_mask; /* Superblock flags that were changed */ | 101 | unsigned int sb_flags_mask; /* Superblock flags that were changed */ |
102 | unsigned int s_iflags; /* OR'd with sb->s_iflags */ | ||
102 | unsigned int lsm_flags; /* Information flags from the fs to the LSM */ | 103 | unsigned int lsm_flags; /* Information flags from the fs to the LSM */ |
103 | enum fs_context_purpose purpose:8; | 104 | enum fs_context_purpose purpose:8; |
104 | enum fs_context_phase phase:8; /* The phase the context is in */ | 105 | enum fs_context_phase phase:8; /* The phase the context is in */ |
@@ -146,6 +147,12 @@ extern int vfs_get_super(struct fs_context *fc, | |||
146 | enum vfs_get_super_keying keying, | 147 | enum vfs_get_super_keying keying, |
147 | int (*fill_super)(struct super_block *sb, | 148 | int (*fill_super)(struct super_block *sb, |
148 | struct fs_context *fc)); | 149 | struct fs_context *fc)); |
150 | extern int get_tree_nodev(struct fs_context *fc, | ||
151 | int (*fill_super)(struct super_block *sb, | ||
152 | struct fs_context *fc)); | ||
153 | extern int get_tree_single(struct fs_context *fc, | ||
154 | int (*fill_super)(struct super_block *sb, | ||
155 | struct fs_context *fc)); | ||
149 | 156 | ||
150 | extern const struct file_operations fscontext_fops; | 157 | extern const struct file_operations fscontext_fops; |
151 | 158 | ||
diff --git a/include/linux/init.h b/include/linux/init.h index 5255069f5a9f..212fc9e2f691 100644 --- a/include/linux/init.h +++ b/include/linux/init.h | |||
@@ -137,6 +137,8 @@ extern initcall_entry_t __con_initcall_start[], __con_initcall_end[]; | |||
137 | /* Used for contructor calls. */ | 137 | /* Used for contructor calls. */ |
138 | typedef void (*ctor_fn_t)(void); | 138 | typedef void (*ctor_fn_t)(void); |
139 | 139 | ||
140 | struct file_system_type; | ||
141 | |||
140 | /* Defined in init/main.c */ | 142 | /* Defined in init/main.c */ |
141 | extern int do_one_initcall(initcall_t fn); | 143 | extern int do_one_initcall(initcall_t fn); |
142 | extern char __initdata boot_command_line[]; | 144 | extern char __initdata boot_command_line[]; |
@@ -146,7 +148,8 @@ extern unsigned int reset_devices; | |||
146 | /* used by init/main.c */ | 148 | /* used by init/main.c */ |
147 | void setup_arch(char **); | 149 | void setup_arch(char **); |
148 | void prepare_namespace(void); | 150 | void prepare_namespace(void); |
149 | int __init init_rootfs(void); | 151 | void __init init_rootfs(void); |
152 | extern struct file_system_type rootfs_fs_type; | ||
150 | 153 | ||
151 | #if defined(CONFIG_STRICT_KERNEL_RWX) || defined(CONFIG_STRICT_MODULE_RWX) | 154 | #if defined(CONFIG_STRICT_KERNEL_RWX) || defined(CONFIG_STRICT_MODULE_RWX) |
152 | extern bool rodata_enabled; | 155 | extern bool rodata_enabled; |
diff --git a/include/linux/pseudo_fs.h b/include/linux/pseudo_fs.h new file mode 100644 index 000000000000..eceda1d1407a --- /dev/null +++ b/include/linux/pseudo_fs.h | |||
@@ -0,0 +1,16 @@ | |||
1 | #ifndef __LINUX_PSEUDO_FS__ | ||
2 | #define __LINUX_PSEUDO_FS__ | ||
3 | |||
4 | #include <linux/fs_context.h> | ||
5 | |||
6 | struct pseudo_fs_context { | ||
7 | const struct super_operations *ops; | ||
8 | const struct xattr_handler **xattr; | ||
9 | const struct dentry_operations *dops; | ||
10 | unsigned long magic; | ||
11 | }; | ||
12 | |||
13 | struct pseudo_fs_context *init_pseudo(struct fs_context *fc, | ||
14 | unsigned long magic); | ||
15 | |||
16 | #endif | ||
diff --git a/include/linux/ramfs.h b/include/linux/ramfs.h index 5ef7d54caac2..ee582bdb7fda 100644 --- a/include/linux/ramfs.h +++ b/include/linux/ramfs.h | |||
@@ -19,7 +19,6 @@ extern int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize); | |||
19 | 19 | ||
20 | extern const struct file_operations ramfs_file_operations; | 20 | extern const struct file_operations ramfs_file_operations; |
21 | extern const struct vm_operations_struct generic_file_vm_ops; | 21 | extern const struct vm_operations_struct generic_file_vm_ops; |
22 | extern int __init init_ramfs_fs(void); | ||
23 | 22 | ||
24 | int ramfs_fill_super(struct super_block *sb, void *data, int silent); | 23 | int ramfs_fill_super(struct super_block *sb, void *data, int silent); |
25 | 24 | ||
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index b01d54a5732e..88145da7d140 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -1231,8 +1231,8 @@ asmlinkage long sys_ni_syscall(void); | |||
1231 | * the ksys_xyzyyz() functions prototyped below. | 1231 | * the ksys_xyzyyz() functions prototyped below. |
1232 | */ | 1232 | */ |
1233 | 1233 | ||
1234 | int ksys_mount(char __user *dev_name, char __user *dir_name, char __user *type, | 1234 | int ksys_mount(const char __user *dev_name, const char __user *dir_name, |
1235 | unsigned long flags, void __user *data); | 1235 | const char __user *type, unsigned long flags, void __user *data); |
1236 | int ksys_umount(char __user *name, int flags); | 1236 | int ksys_umount(char __user *name, int flags); |
1237 | int ksys_dup(unsigned int fildes); | 1237 | int ksys_dup(unsigned int fildes); |
1238 | int ksys_chroot(const char __user *filename); | 1238 | int ksys_chroot(const char __user *filename); |