aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4/inode.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-05 14:53:53 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-05 14:53:53 -0500
commit9467c4fdd66f6810cecef0f1173330f3c6e67d45 (patch)
tree5fea180a10127c893b288dff2c8788b72d2eaea3 /fs/ext4/inode.c
parent35c2e967d067ff02dc944f2434f024419c2fe83a (diff)
parenta9185b41a4f84971b930c519f0c63bd450c4810d (diff)
Merge branch 'write_inode2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'write_inode2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: pass writeback_control to ->write_inode make sure data is on disk before calling ->write_inode
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r--fs/ext4/inode.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index f55df7192b95..f977aade0d1b 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5348,7 +5348,7 @@ out_brelse:
5348 * `stuff()' is running, and the new i_size will be lost. Plus the inode 5348 * `stuff()' is running, and the new i_size will be lost. Plus the inode
5349 * will no longer be on the superblock's dirty inode list. 5349 * will no longer be on the superblock's dirty inode list.
5350 */ 5350 */
5351int ext4_write_inode(struct inode *inode, int wait) 5351int ext4_write_inode(struct inode *inode, struct writeback_control *wbc)
5352{ 5352{
5353 int err; 5353 int err;
5354 5354
@@ -5362,7 +5362,7 @@ int ext4_write_inode(struct inode *inode, int wait)
5362 return -EIO; 5362 return -EIO;
5363 } 5363 }
5364 5364
5365 if (!wait) 5365 if (wbc->sync_mode != WB_SYNC_ALL)
5366 return 0; 5366 return 0;
5367 5367
5368 err = ext4_force_commit(inode->i_sb); 5368 err = ext4_force_commit(inode->i_sb);
@@ -5372,7 +5372,7 @@ int ext4_write_inode(struct inode *inode, int wait)
5372 err = ext4_get_inode_loc(inode, &iloc); 5372 err = ext4_get_inode_loc(inode, &iloc);
5373 if (err) 5373 if (err)
5374 return err; 5374 return err;
5375 if (wait) 5375 if (wbc->sync_mode == WB_SYNC_ALL)
5376 sync_dirty_buffer(iloc.bh); 5376 sync_dirty_buffer(iloc.bh);
5377 if (buffer_req(iloc.bh) && !buffer_uptodate(iloc.bh)) { 5377 if (buffer_req(iloc.bh) && !buffer_uptodate(iloc.bh)) {
5378 ext4_error(inode->i_sb, "IO error syncing inode, " 5378 ext4_error(inode->i_sb, "IO error syncing inode, "