aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_inode_item.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_inode_item.c')
-rw-r--r--fs/xfs/xfs_inode_item.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/xfs/xfs_inode_item.c b/fs/xfs/xfs_inode_item.c
index 48ec1c0b23ce..207553e82954 100644
--- a/fs/xfs/xfs_inode_item.c
+++ b/fs/xfs/xfs_inode_item.c
@@ -866,10 +866,14 @@ xfs_inode_item_push(
866 iip->ili_format.ilf_fields != 0); 866 iip->ili_format.ilf_fields != 0);
867 867
868 /* 868 /*
869 * Write out the inode. The completion routine ('iflush_done') will 869 * Push the inode to it's backing buffer. This will not remove the
870 * pull it from the AIL, mark it clean, unlock the flush lock. 870 * inode from the AIL - a further push will be required to trigger a
871 * buffer push. However, this allows all the dirty inodes to be pushed
872 * to the buffer before it is pushed to disk. THe buffer IO completion
873 * will pull th einode from the AIL, mark it clean and unlock the flush
874 * lock.
871 */ 875 */
872 (void) xfs_iflush(ip, XFS_IFLUSH_ASYNC); 876 (void) xfs_iflush(ip, 0);
873 xfs_iunlock(ip, XFS_ILOCK_SHARED); 877 xfs_iunlock(ip, XFS_ILOCK_SHARED);
874 878
875 return; 879 return;