diff options
Diffstat (limited to 'include/linux/writeback.h')
| -rw-r--r-- | include/linux/writeback.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 36520ded3e06..cc97d6caf2b3 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
| @@ -65,6 +65,15 @@ struct writeback_control { | |||
| 65 | * so we use a single control to update them | 65 | * so we use a single control to update them |
| 66 | */ | 66 | */ |
| 67 | unsigned no_nrwrite_index_update:1; | 67 | unsigned no_nrwrite_index_update:1; |
| 68 | |||
| 69 | /* | ||
| 70 | * For WB_SYNC_ALL, the sb must always be pinned. For WB_SYNC_NONE, | ||
| 71 | * the writeback code will pin the sb for the caller. However, | ||
| 72 | * for eg umount, the caller does WB_SYNC_NONE but already has | ||
| 73 | * the sb pinned. If the below is set, caller already has the | ||
| 74 | * sb pinned. | ||
| 75 | */ | ||
| 76 | unsigned sb_pinned:1; | ||
| 68 | }; | 77 | }; |
| 69 | 78 | ||
| 70 | /* | 79 | /* |
| @@ -73,6 +82,7 @@ struct writeback_control { | |||
| 73 | struct bdi_writeback; | 82 | struct bdi_writeback; |
| 74 | int inode_wait(void *); | 83 | int inode_wait(void *); |
| 75 | void writeback_inodes_sb(struct super_block *); | 84 | void writeback_inodes_sb(struct super_block *); |
| 85 | void writeback_inodes_sb_locked(struct super_block *); | ||
| 76 | int writeback_inodes_sb_if_idle(struct super_block *); | 86 | int writeback_inodes_sb_if_idle(struct super_block *); |
| 77 | void sync_inodes_sb(struct super_block *); | 87 | void sync_inodes_sb(struct super_block *); |
| 78 | void writeback_inodes_wbc(struct writeback_control *wbc); | 88 | void writeback_inodes_wbc(struct writeback_control *wbc); |
| @@ -96,8 +106,14 @@ static inline void inode_sync_wait(struct inode *inode) | |||
| 96 | /* | 106 | /* |
| 97 | * mm/page-writeback.c | 107 | * mm/page-writeback.c |
| 98 | */ | 108 | */ |
| 99 | void laptop_io_completion(void); | 109 | #ifdef CONFIG_BLOCK |
| 110 | void laptop_io_completion(struct backing_dev_info *info); | ||
| 100 | void laptop_sync_completion(void); | 111 | void laptop_sync_completion(void); |
| 112 | void laptop_mode_sync(struct work_struct *work); | ||
| 113 | void laptop_mode_timer_fn(unsigned long data); | ||
| 114 | #else | ||
| 115 | static inline void laptop_sync_completion(void) { } | ||
| 116 | #endif | ||
| 101 | void throttle_vm_writeout(gfp_t gfp_mask); | 117 | void throttle_vm_writeout(gfp_t gfp_mask); |
| 102 | 118 | ||
| 103 | /* These are exported to sysctl. */ | 119 | /* These are exported to sysctl. */ |
