diff options
author | Chris Mason <chris.mason@oracle.com> | 2010-10-29 11:16:17 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2010-10-29 11:25:29 -0400 |
commit | 3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e (patch) | |
tree | 5f06f6c83413ca2fc7aec85ba0811a8c91904097 /include/linux/writeback.h | |
parent | cb44921a09221f0a90217b44044448f63190f3e5 (diff) | |
download | linux-stable-3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e.tar.gz linux-stable-3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e.tar.bz2 linux-stable-3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e.zip |
Add new functions for triggering inode writeback
When btrfs is running low on metadata space, it needs to force delayed
allocation pages to disk. It currently does this with a suboptimal walk
of a private list of inodes with delayed allocation, and it would be
much better if we used the generic flusher threads.
writeback_inodes_sb_if_idle would be ideal, but it waits for the flusher
thread to start IO on all the dirty pages in the FS before it returns.
This adds variants of writeback_inodes_sb* that allow the caller to
control how many pages get sent down.
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'include/linux/writeback.h')
-rw-r--r-- | include/linux/writeback.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 72a5d647a5f2..a4cf84511e79 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -60,7 +60,9 @@ struct writeback_control { struct bdi_writeback; int inode_wait(void *); void writeback_inodes_sb(struct super_block *); +void writeback_inodes_sb_nr(struct super_block *, unsigned long nr); int writeback_inodes_sb_if_idle(struct super_block *); +int writeback_inodes_sb_nr_if_idle(struct super_block *, unsigned long nr); void sync_inodes_sb(struct super_block *); void writeback_inodes_wb(struct bdi_writeback *wb, struct writeback_control *wbc); |