Commit 37bc5743 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Alex Elder
Browse files

xfs: wait for direct I/O to complete in fsync and write_inode



We need to wait for all pending direct I/O requests before taking care of
metadata in fsync and write_inode.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDave Chinner <david@fromorbit.com>
parent fce1cad6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -115,6 +115,8 @@ xfs_file_fsync(

	xfs_iflags_clear(ip, XFS_ITRUNCATED);

	xfs_ioend_wait(ip);

	/*
	 * We always need to make sure that the required inode state is safe on
	 * disk.  The inode might be clean but we still might need to force the
+1 −0
Original line number Diff line number Diff line
@@ -1093,6 +1093,7 @@ xfs_fs_write_inode(
		 * the code will only flush the inode if it isn't already
		 * being flushed.
		 */
		xfs_ioend_wait(ip);
		xfs_ilock(ip, XFS_ILOCK_SHARED);
		if (ip->i_update_core) {
			error = xfs_log_inode(ip);