diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index e2170ee21e18..0b87b29f4797 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -423,6 +423,9 @@ enum positive_aop_returns { | |||
423 | 423 | ||
424 | #define AOP_FLAG_UNINTERRUPTIBLE 0x0001 /* will not do a short write */ | 424 | #define AOP_FLAG_UNINTERRUPTIBLE 0x0001 /* will not do a short write */ |
425 | #define AOP_FLAG_CONT_EXPAND 0x0002 /* called from cont_expand */ | 425 | #define AOP_FLAG_CONT_EXPAND 0x0002 /* called from cont_expand */ |
426 | #define AOP_FLAG_NOFS 0x0004 /* used by filesystem to direct | ||
427 | * helper code (eg buffer layer) | ||
428 | * to clear GFP_FS from alloc */ | ||
426 | 429 | ||
427 | /* | 430 | /* |
428 | * oh the beauties of C type declarations. | 431 | * oh the beauties of C type declarations. |
@@ -562,6 +565,7 @@ struct address_space { | |||
562 | struct block_device { | 565 | struct block_device { |
563 | dev_t bd_dev; /* not a kdev_t - it's a search key */ | 566 | dev_t bd_dev; /* not a kdev_t - it's a search key */ |
564 | struct inode * bd_inode; /* will die */ | 567 | struct inode * bd_inode; /* will die */ |
568 | struct super_block * bd_super; | ||
565 | int bd_openers; | 569 | int bd_openers; |
566 | struct mutex bd_mutex; /* open/close mutex */ | 570 | struct mutex bd_mutex; /* open/close mutex */ |
567 | struct semaphore bd_mount_sem; | 571 | struct semaphore bd_mount_sem; |
@@ -1130,7 +1134,6 @@ struct super_block { | |||
1130 | struct rw_semaphore s_umount; | 1134 | struct rw_semaphore s_umount; |
1131 | struct mutex s_lock; | 1135 | struct mutex s_lock; |
1132 | int s_count; | 1136 | int s_count; |
1133 | int s_syncing; | ||
1134 | int s_need_sync_fs; | 1137 | int s_need_sync_fs; |
1135 | atomic_t s_active; | 1138 | atomic_t s_active; |
1136 | #ifdef CONFIG_SECURITY | 1139 | #ifdef CONFIG_SECURITY |
@@ -1182,6 +1185,11 @@ struct super_block { | |||
1182 | * generic_show_options() | 1185 | * generic_show_options() |
1183 | */ | 1186 | */ |
1184 | char *s_options; | 1187 | char *s_options; |
1188 | |||
1189 | /* | ||
1190 | * storage for asynchronous operations | ||
1191 | */ | ||
1192 | struct list_head s_async_list; | ||
1185 | }; | 1193 | }; |
1186 | 1194 | ||
1187 | extern struct timespec current_fs_time(struct super_block *sb); | 1195 | extern struct timespec current_fs_time(struct super_block *sb); |
@@ -1382,6 +1390,7 @@ struct super_operations { | |||
1382 | ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); | 1390 | ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); |
1383 | ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); | 1391 | ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); |
1384 | #endif | 1392 | #endif |
1393 | int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t); | ||
1385 | }; | 1394 | }; |
1386 | 1395 | ||
1387 | /* | 1396 | /* |
@@ -1827,7 +1836,7 @@ extern int __filemap_fdatawrite_range(struct address_space *mapping, | |||
1827 | extern int filemap_fdatawrite_range(struct address_space *mapping, | 1836 | extern int filemap_fdatawrite_range(struct address_space *mapping, |
1828 | loff_t start, loff_t end); | 1837 | loff_t start, loff_t end); |
1829 | 1838 | ||
1830 | extern long do_fsync(struct file *file, int datasync); | 1839 | extern int vfs_fsync(struct file *file, struct dentry *dentry, int datasync); |
1831 | extern void sync_supers(void); | 1840 | extern void sync_supers(void); |
1832 | extern void sync_filesystems(int wait); | 1841 | extern void sync_filesystems(int wait); |
1833 | extern void __fsync_super(struct super_block *sb); | 1842 | extern void __fsync_super(struct super_block *sb); |
@@ -2035,7 +2044,7 @@ extern int page_readlink(struct dentry *, char __user *, int); | |||
2035 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); | 2044 | extern void *page_follow_link_light(struct dentry *, struct nameidata *); |
2036 | extern void page_put_link(struct dentry *, struct nameidata *, void *); | 2045 | extern void page_put_link(struct dentry *, struct nameidata *, void *); |
2037 | extern int __page_symlink(struct inode *inode, const char *symname, int len, | 2046 | extern int __page_symlink(struct inode *inode, const char *symname, int len, |
2038 | gfp_t gfp_mask); | 2047 | int nofs); |
2039 | extern int page_symlink(struct inode *inode, const char *symname, int len); | 2048 | extern int page_symlink(struct inode *inode, const char *symname, int len); |
2040 | extern const struct inode_operations page_symlink_inode_operations; | 2049 | extern const struct inode_operations page_symlink_inode_operations; |
2041 | extern int generic_readlink(struct dentry *, char __user *, int); | 2050 | extern int generic_readlink(struct dentry *, char __user *, int); |
@@ -2056,6 +2065,9 @@ extern int vfs_fstat(unsigned int, struct kstat *); | |||
2056 | 2065 | ||
2057 | extern int do_vfs_ioctl(struct file *filp, unsigned int fd, unsigned int cmd, | 2066 | extern int do_vfs_ioctl(struct file *filp, unsigned int fd, unsigned int cmd, |
2058 | unsigned long arg); | 2067 | unsigned long arg); |
2068 | extern int __generic_block_fiemap(struct inode *inode, | ||
2069 | struct fiemap_extent_info *fieinfo, u64 start, | ||
2070 | u64 len, get_block_t *get_block); | ||
2059 | extern int generic_block_fiemap(struct inode *inode, | 2071 | extern int generic_block_fiemap(struct inode *inode, |
2060 | struct fiemap_extent_info *fieinfo, u64 start, | 2072 | struct fiemap_extent_info *fieinfo, u64 start, |
2061 | u64 len, get_block_t *get_block); | 2073 | u64 len, get_block_t *get_block); |