diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/acct.h | 4 | ||||
| -rw-r--r-- | include/linux/dcache.h | 1 | ||||
| -rw-r--r-- | include/linux/fs.h | 2 | ||||
| -rw-r--r-- | include/linux/fs_pin.h | 17 | ||||
| -rw-r--r-- | include/linux/mount.h | 4 | ||||
| -rw-r--r-- | include/linux/uio.h | 2 |
6 files changed, 23 insertions, 7 deletions
diff --git a/include/linux/acct.h b/include/linux/acct.h index 4a5b7cb56079..dccc2d4fe7de 100644 --- a/include/linux/acct.h +++ b/include/linux/acct.h | |||
| @@ -24,14 +24,10 @@ struct super_block; | |||
| 24 | struct pacct_struct; | 24 | struct pacct_struct; |
| 25 | struct pid_namespace; | 25 | struct pid_namespace; |
| 26 | extern int acct_parm[]; /* for sysctl */ | 26 | extern int acct_parm[]; /* for sysctl */ |
| 27 | extern void acct_auto_close_mnt(struct vfsmount *m); | ||
| 28 | extern void acct_auto_close(struct super_block *sb); | ||
| 29 | extern void acct_collect(long exitcode, int group_dead); | 27 | extern void acct_collect(long exitcode, int group_dead); |
| 30 | extern void acct_process(void); | 28 | extern void acct_process(void); |
| 31 | extern void acct_exit_ns(struct pid_namespace *); | 29 | extern void acct_exit_ns(struct pid_namespace *); |
| 32 | #else | 30 | #else |
| 33 | #define acct_auto_close_mnt(x) do { } while (0) | ||
| 34 | #define acct_auto_close(x) do { } while (0) | ||
| 35 | #define acct_collect(x,y) do { } while (0) | 31 | #define acct_collect(x,y) do { } while (0) |
| 36 | #define acct_process() do { } while (0) | 32 | #define acct_process() do { } while (0) |
| 37 | #define acct_exit_ns(ns) do { } while (0) | 33 | #define acct_exit_ns(ns) do { } while (0) |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 3c7ec327ebd2..e4ae2ad48d07 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
| @@ -249,6 +249,7 @@ extern struct dentry * d_splice_alias(struct inode *, struct dentry *); | |||
| 249 | extern struct dentry * d_add_ci(struct dentry *, struct inode *, struct qstr *); | 249 | extern struct dentry * d_add_ci(struct dentry *, struct inode *, struct qstr *); |
| 250 | extern struct dentry *d_find_any_alias(struct inode *inode); | 250 | extern struct dentry *d_find_any_alias(struct inode *inode); |
| 251 | extern struct dentry * d_obtain_alias(struct inode *); | 251 | extern struct dentry * d_obtain_alias(struct inode *); |
| 252 | extern struct dentry * d_obtain_root(struct inode *); | ||
| 252 | extern void shrink_dcache_sb(struct super_block *); | 253 | extern void shrink_dcache_sb(struct super_block *); |
| 253 | extern void shrink_dcache_parent(struct dentry *); | 254 | extern void shrink_dcache_parent(struct dentry *); |
| 254 | extern void shrink_dcache_for_umount(struct super_block *); | 255 | extern void shrink_dcache_for_umount(struct super_block *); |
diff --git a/include/linux/fs.h b/include/linux/fs.h index f0890e4a7c25..94187721ad41 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
| @@ -1275,6 +1275,7 @@ struct super_block { | |||
| 1275 | 1275 | ||
| 1276 | /* AIO completions deferred from interrupt context */ | 1276 | /* AIO completions deferred from interrupt context */ |
| 1277 | struct workqueue_struct *s_dio_done_wq; | 1277 | struct workqueue_struct *s_dio_done_wq; |
| 1278 | struct hlist_head s_pins; | ||
| 1278 | 1279 | ||
| 1279 | /* | 1280 | /* |
| 1280 | * Keep the lru lists last in the structure so they always sit on their | 1281 | * Keep the lru lists last in the structure so they always sit on their |
| @@ -2360,6 +2361,7 @@ extern int do_pipe_flags(int *, int); | |||
| 2360 | 2361 | ||
| 2361 | extern int kernel_read(struct file *, loff_t, char *, unsigned long); | 2362 | extern int kernel_read(struct file *, loff_t, char *, unsigned long); |
| 2362 | extern ssize_t kernel_write(struct file *, const char *, size_t, loff_t); | 2363 | extern ssize_t kernel_write(struct file *, const char *, size_t, loff_t); |
| 2364 | extern ssize_t __kernel_write(struct file *, const char *, size_t, loff_t *); | ||
| 2363 | extern struct file * open_exec(const char *); | 2365 | extern struct file * open_exec(const char *); |
| 2364 | 2366 | ||
| 2365 | /* fs/dcache.c -- generic fs support functions */ | 2367 | /* fs/dcache.c -- generic fs support functions */ |
diff --git a/include/linux/fs_pin.h b/include/linux/fs_pin.h new file mode 100644 index 000000000000..f66525e72ccf --- /dev/null +++ b/include/linux/fs_pin.h | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | #include <linux/fs.h> | ||
| 2 | |||
| 3 | struct fs_pin { | ||
| 4 | atomic_long_t count; | ||
| 5 | union { | ||
| 6 | struct { | ||
| 7 | struct hlist_node s_list; | ||
| 8 | struct hlist_node m_list; | ||
| 9 | }; | ||
| 10 | struct rcu_head rcu; | ||
| 11 | }; | ||
| 12 | void (*kill)(struct fs_pin *); | ||
| 13 | }; | ||
| 14 | |||
| 15 | void pin_put(struct fs_pin *); | ||
| 16 | void pin_remove(struct fs_pin *); | ||
| 17 | void pin_insert(struct fs_pin *, struct vfsmount *); | ||
diff --git a/include/linux/mount.h b/include/linux/mount.h index b0c1e6574e7f..9262e4bf0cc3 100644 --- a/include/linux/mount.h +++ b/include/linux/mount.h | |||
| @@ -69,6 +69,7 @@ struct vfsmount { | |||
| 69 | }; | 69 | }; |
| 70 | 70 | ||
| 71 | struct file; /* forward dec */ | 71 | struct file; /* forward dec */ |
| 72 | struct path; | ||
| 72 | 73 | ||
| 73 | extern int mnt_want_write(struct vfsmount *mnt); | 74 | extern int mnt_want_write(struct vfsmount *mnt); |
| 74 | extern int mnt_want_write_file(struct file *file); | 75 | extern int mnt_want_write_file(struct file *file); |
| @@ -77,8 +78,7 @@ extern void mnt_drop_write(struct vfsmount *mnt); | |||
| 77 | extern void mnt_drop_write_file(struct file *file); | 78 | extern void mnt_drop_write_file(struct file *file); |
| 78 | extern void mntput(struct vfsmount *mnt); | 79 | extern void mntput(struct vfsmount *mnt); |
| 79 | extern struct vfsmount *mntget(struct vfsmount *mnt); | 80 | extern struct vfsmount *mntget(struct vfsmount *mnt); |
| 80 | extern void mnt_pin(struct vfsmount *mnt); | 81 | extern struct vfsmount *mnt_clone_internal(struct path *path); |
| 81 | extern void mnt_unpin(struct vfsmount *mnt); | ||
| 82 | extern int __mnt_is_readonly(struct vfsmount *mnt); | 82 | extern int __mnt_is_readonly(struct vfsmount *mnt); |
| 83 | 83 | ||
| 84 | struct file_system_type; | 84 | struct file_system_type; |
diff --git a/include/linux/uio.h b/include/linux/uio.h index 09a7cffc224e..48d64e6ab292 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h | |||
| @@ -84,7 +84,7 @@ unsigned long iov_iter_alignment(const struct iov_iter *i); | |||
| 84 | void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov, | 84 | void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov, |
| 85 | unsigned long nr_segs, size_t count); | 85 | unsigned long nr_segs, size_t count); |
| 86 | ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages, | 86 | ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages, |
| 87 | size_t maxsize, size_t *start); | 87 | unsigned maxpages, size_t *start); |
| 88 | ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages, | 88 | ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages, |
| 89 | size_t maxsize, size_t *start); | 89 | size_t maxsize, size_t *start); |
| 90 | int iov_iter_npages(const struct iov_iter *i, int maxpages); | 90 | int iov_iter_npages(const struct iov_iter *i, int maxpages); |
