diff options
Diffstat (limited to 'include/linux/writeback.h')
| -rw-r--r-- | include/linux/writeback.h | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 3224820c8514..75cf58666ff9 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
| @@ -14,17 +14,6 @@ extern struct list_head inode_in_use; | |||
| 14 | extern struct list_head inode_unused; | 14 | extern struct list_head inode_unused; |
| 15 | 15 | ||
| 16 | /* | 16 | /* |
| 17 | * Yes, writeback.h requires sched.h | ||
| 18 | * No, sched.h is not included from here. | ||
| 19 | */ | ||
| 20 | static inline int task_is_pdflush(struct task_struct *task) | ||
| 21 | { | ||
| 22 | return task->flags & PF_FLUSHER; | ||
| 23 | } | ||
| 24 | |||
| 25 | #define current_is_pdflush() task_is_pdflush(current) | ||
| 26 | |||
| 27 | /* | ||
| 28 | * fs/fs-writeback.c | 17 | * fs/fs-writeback.c |
| 29 | */ | 18 | */ |
| 30 | enum writeback_sync_modes { | 19 | enum writeback_sync_modes { |
| @@ -40,6 +29,8 @@ enum writeback_sync_modes { | |||
| 40 | struct writeback_control { | 29 | struct writeback_control { |
| 41 | struct backing_dev_info *bdi; /* If !NULL, only write back this | 30 | struct backing_dev_info *bdi; /* If !NULL, only write back this |
| 42 | queue */ | 31 | queue */ |
| 32 | struct super_block *sb; /* if !NULL, only write inodes from | ||
| 33 | this super_block */ | ||
| 43 | enum writeback_sync_modes sync_mode; | 34 | enum writeback_sync_modes sync_mode; |
| 44 | unsigned long *older_than_this; /* If !NULL, only write back inodes | 35 | unsigned long *older_than_this; /* If !NULL, only write back inodes |
| 45 | older than this */ | 36 | older than this */ |
| @@ -59,7 +50,6 @@ struct writeback_control { | |||
| 59 | unsigned encountered_congestion:1; /* An output: a queue is full */ | 50 | unsigned encountered_congestion:1; /* An output: a queue is full */ |
| 60 | unsigned for_kupdate:1; /* A kupdate writeback */ | 51 | unsigned for_kupdate:1; /* A kupdate writeback */ |
| 61 | unsigned for_reclaim:1; /* Invoked from the page allocator */ | 52 | unsigned for_reclaim:1; /* Invoked from the page allocator */ |
| 62 | unsigned for_writepages:1; /* This is a writepages() call */ | ||
| 63 | unsigned range_cyclic:1; /* range_start is cyclic */ | 53 | unsigned range_cyclic:1; /* range_start is cyclic */ |
| 64 | unsigned more_io:1; /* more io to be dispatched */ | 54 | unsigned more_io:1; /* more io to be dispatched */ |
| 65 | /* | 55 | /* |
| @@ -76,9 +66,13 @@ struct writeback_control { | |||
| 76 | /* | 66 | /* |
| 77 | * fs/fs-writeback.c | 67 | * fs/fs-writeback.c |
| 78 | */ | 68 | */ |
| 79 | void writeback_inodes(struct writeback_control *wbc); | 69 | struct bdi_writeback; |
| 80 | int inode_wait(void *); | 70 | int inode_wait(void *); |
| 81 | void sync_inodes_sb(struct super_block *, int wait); | 71 | void writeback_inodes_sb(struct super_block *); |
| 72 | void sync_inodes_sb(struct super_block *); | ||
| 73 | void writeback_inodes_wbc(struct writeback_control *wbc); | ||
| 74 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); | ||
| 75 | void wakeup_flusher_threads(long nr_pages); | ||
| 82 | 76 | ||
| 83 | /* writeback.h requires fs.h; it, too, is not included from here. */ | 77 | /* writeback.h requires fs.h; it, too, is not included from here. */ |
| 84 | static inline void wait_on_inode(struct inode *inode) | 78 | static inline void wait_on_inode(struct inode *inode) |
| @@ -98,7 +92,6 @@ static inline void inode_sync_wait(struct inode *inode) | |||
| 98 | /* | 92 | /* |
| 99 | * mm/page-writeback.c | 93 | * mm/page-writeback.c |
| 100 | */ | 94 | */ |
| 101 | int wakeup_pdflush(long nr_pages); | ||
| 102 | void laptop_io_completion(void); | 95 | void laptop_io_completion(void); |
| 103 | void laptop_sync_completion(void); | 96 | void laptop_sync_completion(void); |
| 104 | void throttle_vm_writeout(gfp_t gfp_mask); | 97 | void throttle_vm_writeout(gfp_t gfp_mask); |
| @@ -150,17 +143,12 @@ balance_dirty_pages_ratelimited(struct address_space *mapping) | |||
| 150 | typedef int (*writepage_t)(struct page *page, struct writeback_control *wbc, | 143 | typedef int (*writepage_t)(struct page *page, struct writeback_control *wbc, |
| 151 | void *data); | 144 | void *data); |
| 152 | 145 | ||
| 153 | int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0); | ||
| 154 | int generic_writepages(struct address_space *mapping, | 146 | int generic_writepages(struct address_space *mapping, |
| 155 | struct writeback_control *wbc); | 147 | struct writeback_control *wbc); |
| 156 | int write_cache_pages(struct address_space *mapping, | 148 | int write_cache_pages(struct address_space *mapping, |
| 157 | struct writeback_control *wbc, writepage_t writepage, | 149 | struct writeback_control *wbc, writepage_t writepage, |
| 158 | void *data); | 150 | void *data); |
| 159 | int do_writepages(struct address_space *mapping, struct writeback_control *wbc); | 151 | int do_writepages(struct address_space *mapping, struct writeback_control *wbc); |
| 160 | int sync_page_range(struct inode *inode, struct address_space *mapping, | ||
| 161 | loff_t pos, loff_t count); | ||
| 162 | int sync_page_range_nolock(struct inode *inode, struct address_space *mapping, | ||
| 163 | loff_t pos, loff_t count); | ||
| 164 | void set_page_dirty_balance(struct page *page, int page_mkwrite); | 152 | void set_page_dirty_balance(struct page *page, int page_mkwrite); |
| 165 | void writeback_set_ratelimit(void); | 153 | void writeback_set_ratelimit(void); |
| 166 | 154 | ||
