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: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
parent
fce1cad651
commit
37bc5743fd
@ -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
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user