xfs: remove invalid barrier optimization from xfs_fsync
PATCH 1/1 xfs: remove invalid barrier optimization from xfs_fsync
We always need to flush the disk write cache and can't skip it just because the no inode attributes have changed.
Signed-off-by Christoph Hellwig <[email protected]>
fs/xfs/xfs_vnodeops.c +2 -10
@@ -597,7 +597,7 @@ xfs_fsync( {xfs_trans_t *tp;int error =0 ; -int log_flushed =0 , changed =1 ; +int log_flushed =0 ;xfs_itrace_entry (ip);
@@ -627,18 +627,10 @@ xfs_fsync(* disk yet, the inode will be still be pinned. If it is, * force the log. */ -xfs_iunlock (ip,XFS_ILOCK_SHARED ); -if (xfs_ipincount (ip)) { error =_xfs_log_force (ip->i_mount,XFS_LOG_SYNC , &log_flushed); - }else { -/* -* If the inode is not pinned and nothing has changed -* we don't need to flush the cache. -*/ - changed =0 ; } }else {/*
@@ -673,7 +665,7 @@ xfs_fsync(xfs_iunlock (ip,XFS_ILOCK_EXCL ); } -if ((ip->i_mount->m_flags &XFS_MOUNT_BARRIER ) && changed) { +if (ip->i_mount->m_flags &XFS_MOUNT_BARRIER ) {/* * If the log write didn't issue an ordered tag we need * to flush the disk cache for the data device now.
_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
Quoted 5 lines · Christoph Hellwig
We always need to flush the disk write cache and can't skip it just because the no inode attributes have changed.
Signed-off-by Christoph Hellwig <[email protected]>
Looks good.
Reviewed-by Dave Chinner <[email protected]>
Signature · 7 lines
Dave Chinner [email protected] _______________________________________________ xfs mailing list [email protected] http://oss.sgi.com/mailman/listinfo/xfs