aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2010-10-29 11:16:17 -0400
committerChris Mason <chris.mason@oracle.com>2010-10-29 11:25:29 -0400
commit3259f8bed2f0f57c2fdcdac1b510c3fa319ef97e (patch)
tree5f06f6c83413ca2fc7aec85ba0811a8c91904097 /include
parentcb44921a09221f0a90217b44044448f63190f3e5 (diff)
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')
-rw-r--r--include/linux/writeback.h2
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 {
60struct bdi_writeback; 60struct bdi_writeback;
61int inode_wait(void *); 61int inode_wait(void *);
62void writeback_inodes_sb(struct super_block *); 62void writeback_inodes_sb(struct super_block *);
63void writeback_inodes_sb_nr(struct super_block *, unsigned long nr);
63int writeback_inodes_sb_if_idle(struct super_block *); 64int writeback_inodes_sb_if_idle(struct super_block *);
65int writeback_inodes_sb_nr_if_idle(struct super_block *, unsigned long nr);
64void sync_inodes_sb(struct super_block *); 66void sync_inodes_sb(struct super_block *);
65void writeback_inodes_wb(struct bdi_writeback *wb, 67void writeback_inodes_wb(struct bdi_writeback *wb,
66 struct writeback_control *wbc); 68 struct writeback_control *wbc);