diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_super.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 4528f9a3f304..491d1f4f202d 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c | |||
@@ -415,8 +415,10 @@ xfs_fs_write_inode( | |||
415 | 415 | ||
416 | if (vp) { | 416 | if (vp) { |
417 | vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); | 417 | vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); |
418 | if (sync) | 418 | if (sync) { |
419 | filemap_fdatawait(inode->i_mapping); | ||
419 | flags |= FLUSH_SYNC; | 420 | flags |= FLUSH_SYNC; |
421 | } | ||
420 | error = bhv_vop_iflush(vp, flags); | 422 | error = bhv_vop_iflush(vp, flags); |
421 | if (error == EAGAIN) | 423 | if (error == EAGAIN) |
422 | error = sync? bhv_vop_iflush(vp, flags | FLUSH_LOG) : 0; | 424 | error = sync? bhv_vop_iflush(vp, flags | FLUSH_LOG) : 0; |