diff options
author | Christoph Hellwig <hch@lst.de> | 2010-03-05 03:21:37 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-03-05 13:25:52 -0500 |
commit | a9185b41a4f84971b930c519f0c63bd450c4810d (patch) | |
tree | 268cf4e206cca12fb9e1dd68984e7c190e465b46 /fs/minix | |
parent | 26821ed40b4230259e770c9911180f38fcaa6f59 (diff) |
pass writeback_control to ->write_inode
This gives the filesystem more information about the writeback that
is happening. Trond requested this for the NFS unstable write handling,
and other filesystems might benefit from this too by beeing able to
distinguish between the different callers in more detail.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/minix')
-rw-r--r-- | fs/minix/inode.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/minix/inode.c b/fs/minix/inode.c index 74ea82d72164..756f8c93780c 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c | |||
@@ -17,8 +17,10 @@ | |||
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/highuid.h> | 18 | #include <linux/highuid.h> |
19 | #include <linux/vfs.h> | 19 | #include <linux/vfs.h> |
20 | #include <linux/writeback.h> | ||
20 | 21 | ||
21 | static int minix_write_inode(struct inode * inode, int wait); | 22 | static int minix_write_inode(struct inode *inode, |
23 | struct writeback_control *wbc); | ||
22 | static int minix_statfs(struct dentry *dentry, struct kstatfs *buf); | 24 | static int minix_statfs(struct dentry *dentry, struct kstatfs *buf); |
23 | static int minix_remount (struct super_block * sb, int * flags, char * data); | 25 | static int minix_remount (struct super_block * sb, int * flags, char * data); |
24 | 26 | ||
@@ -552,7 +554,7 @@ static struct buffer_head * V2_minix_update_inode(struct inode * inode) | |||
552 | return bh; | 554 | return bh; |
553 | } | 555 | } |
554 | 556 | ||
555 | static int minix_write_inode(struct inode *inode, int wait) | 557 | static int minix_write_inode(struct inode *inode, struct writeback_control *wbc) |
556 | { | 558 | { |
557 | int err = 0; | 559 | int err = 0; |
558 | struct buffer_head *bh; | 560 | struct buffer_head *bh; |
@@ -563,7 +565,7 @@ static int minix_write_inode(struct inode *inode, int wait) | |||
563 | bh = V2_minix_update_inode(inode); | 565 | bh = V2_minix_update_inode(inode); |
564 | if (!bh) | 566 | if (!bh) |
565 | return -EIO; | 567 | return -EIO; |
566 | if (wait && buffer_dirty(bh)) { | 568 | if (wbc->sync_mode == WB_SYNC_ALL && buffer_dirty(bh)) { |
567 | sync_dirty_buffer(bh); | 569 | sync_dirty_buffer(bh); |
568 | if (buffer_req(bh) && !buffer_uptodate(bh)) { | 570 | if (buffer_req(bh) && !buffer_uptodate(bh)) { |
569 | printk("IO error syncing minix inode [%s:%08lx]\n", | 571 | printk("IO error syncing minix inode [%s:%08lx]\n", |