diff options
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r-- | fs/ext4/inode.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index e11952404e02..d01a6cdbf854 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -5177,7 +5177,7 @@ out_brelse: | |||
5177 | * `stuff()' is running, and the new i_size will be lost. Plus the inode | 5177 | * `stuff()' is running, and the new i_size will be lost. Plus the inode |
5178 | * will no longer be on the superblock's dirty inode list. | 5178 | * will no longer be on the superblock's dirty inode list. |
5179 | */ | 5179 | */ |
5180 | int ext4_write_inode(struct inode *inode, int wait) | 5180 | int ext4_write_inode(struct inode *inode, struct writeback_control *wbc) |
5181 | { | 5181 | { |
5182 | int err; | 5182 | int err; |
5183 | 5183 | ||
@@ -5191,7 +5191,7 @@ int ext4_write_inode(struct inode *inode, int wait) | |||
5191 | return -EIO; | 5191 | return -EIO; |
5192 | } | 5192 | } |
5193 | 5193 | ||
5194 | if (!wait) | 5194 | if (wbc->sync_mode != WB_SYNC_ALL) |
5195 | return 0; | 5195 | return 0; |
5196 | 5196 | ||
5197 | err = ext4_force_commit(inode->i_sb); | 5197 | err = ext4_force_commit(inode->i_sb); |
@@ -5201,7 +5201,7 @@ int ext4_write_inode(struct inode *inode, int wait) | |||
5201 | err = ext4_get_inode_loc(inode, &iloc); | 5201 | err = ext4_get_inode_loc(inode, &iloc); |
5202 | if (err) | 5202 | if (err) |
5203 | return err; | 5203 | return err; |
5204 | if (wait) | 5204 | if (wbc->sync_mode == WB_SYNC_ALL) |
5205 | sync_dirty_buffer(iloc.bh); | 5205 | sync_dirty_buffer(iloc.bh); |
5206 | if (buffer_req(iloc.bh) && !buffer_uptodate(iloc.bh)) { | 5206 | if (buffer_req(iloc.bh) && !buffer_uptodate(iloc.bh)) { |
5207 | ext4_error(inode->i_sb, __func__, | 5207 | ext4_error(inode->i_sb, __func__, |