xfs: reimplement fdatasync support
Add an in-memory only flag to say we logged timestamps only, and use it to check if fdatasync can optimize away the log force. Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:

committed by
Ben Myers

parent
f5d8d5c4bf
commit
8f639ddea0
@@ -197,8 +197,11 @@ xfs_file_fsync(
|
||||
* to flush the log up to the latest LSN that touched the inode.
|
||||
*/
|
||||
xfs_ilock(ip, XFS_ILOCK_SHARED);
|
||||
if (xfs_ipincount(ip))
|
||||
lsn = ip->i_itemp->ili_last_lsn;
|
||||
if (xfs_ipincount(ip)) {
|
||||
if (!datasync ||
|
||||
(ip->i_itemp->ili_fields & ~XFS_ILOG_TIMESTAMP))
|
||||
lsn = ip->i_itemp->ili_last_lsn;
|
||||
}
|
||||
xfs_iunlock(ip, XFS_ILOCK_SHARED);
|
||||
|
||||
if (lsn)
|
||||
|
Reference in New Issue
Block a user