diff options
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r-- | include/linux/fs.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index d7eba77f666e..6022f44043f2 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -234,6 +234,8 @@ struct inodes_stat_t { | |||
234 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ | 234 | #define BMAP_IOCTL 1 /* obsolete - kept for compatibility */ |
235 | #define FIBMAP _IO(0x00,1) /* bmap access */ | 235 | #define FIBMAP _IO(0x00,1) /* bmap access */ |
236 | #define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */ | 236 | #define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */ |
237 | #define FIFREEZE _IOWR('X', 119, int) /* Freeze */ | ||
238 | #define FITHAW _IOWR('X', 120, int) /* Thaw */ | ||
237 | 239 | ||
238 | #define FS_IOC_GETFLAGS _IOR('f', 1, long) | 240 | #define FS_IOC_GETFLAGS _IOR('f', 1, long) |
239 | #define FS_IOC_SETFLAGS _IOW('f', 2, long) | 241 | #define FS_IOC_SETFLAGS _IOW('f', 2, long) |
@@ -565,6 +567,7 @@ struct address_space { | |||
565 | struct block_device { | 567 | struct block_device { |
566 | dev_t bd_dev; /* not a kdev_t - it's a search key */ | 568 | dev_t bd_dev; /* not a kdev_t - it's a search key */ |
567 | struct inode * bd_inode; /* will die */ | 569 | struct inode * bd_inode; /* will die */ |
570 | struct super_block * bd_super; | ||
568 | int bd_openers; | 571 | int bd_openers; |
569 | struct mutex bd_mutex; /* open/close mutex */ | 572 | struct mutex bd_mutex; /* open/close mutex */ |
570 | struct semaphore bd_mount_sem; | 573 | struct semaphore bd_mount_sem; |
@@ -590,6 +593,11 @@ struct block_device { | |||
590 | * care to not mess up bd_private for that case. | 593 | * care to not mess up bd_private for that case. |
591 | */ | 594 | */ |
592 | unsigned long bd_private; | 595 | unsigned long bd_private; |
596 | |||
597 | /* The counter of freeze processes */ | ||
598 | int bd_fsfreeze_count; | ||
599 | /* Mutex for freeze */ | ||
600 | struct mutex bd_fsfreeze_mutex; | ||
593 | }; | 601 | }; |
594 | 602 | ||
595 | /* | 603 | /* |
@@ -1184,6 +1192,11 @@ struct super_block { | |||
1184 | * generic_show_options() | 1192 | * generic_show_options() |
1185 | */ | 1193 | */ |
1186 | char *s_options; | 1194 | char *s_options; |
1195 | |||
1196 | /* | ||
1197 | * storage for asynchronous operations | ||
1198 | */ | ||
1199 | struct list_head s_async_list; | ||
1187 | }; | 1200 | }; |
1188 | 1201 | ||
1189 | extern struct timespec current_fs_time(struct super_block *sb); | 1202 | extern struct timespec current_fs_time(struct super_block *sb); |
@@ -1371,8 +1384,8 @@ struct super_operations { | |||
1371 | void (*put_super) (struct super_block *); | 1384 | void (*put_super) (struct super_block *); |
1372 | void (*write_super) (struct super_block *); | 1385 | void (*write_super) (struct super_block *); |
1373 | int (*sync_fs)(struct super_block *sb, int wait); | 1386 | int (*sync_fs)(struct super_block *sb, int wait); |
1374 | void (*write_super_lockfs) (struct super_block *); | 1387 | int (*freeze_fs) (struct super_block *); |
1375 | void (*unlockfs) (struct super_block *); | 1388 | int (*unfreeze_fs) (struct super_block *); |
1376 | int (*statfs) (struct dentry *, struct kstatfs *); | 1389 | int (*statfs) (struct dentry *, struct kstatfs *); |
1377 | int (*remount_fs) (struct super_block *, int *, char *); | 1390 | int (*remount_fs) (struct super_block *, int *, char *); |
1378 | void (*clear_inode) (struct inode *); | 1391 | void (*clear_inode) (struct inode *); |
@@ -1384,6 +1397,7 @@ struct super_operations { | |||
1384 | ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); | 1397 | ssize_t (*quota_read)(struct super_block *, int, char *, size_t, loff_t); |
1385 | ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); | 1398 | ssize_t (*quota_write)(struct super_block *, int, const char *, size_t, loff_t); |
1386 | #endif | 1399 | #endif |
1400 | int (*bdev_try_to_free_page)(struct super_block*, struct page*, gfp_t); | ||
1387 | }; | 1401 | }; |
1388 | 1402 | ||
1389 | /* | 1403 | /* |