[PATCH 5/7] xfs: honor the O_SYNC flag for aysnchronous direct I/O requests
Jeff Moyer
jmoyer at redhat.com
Fri Mar 30 14:45:37 CDT 2012
Jeff Moyer <jmoyer at redhat.com> writes:
> Hi, Dave,
>
> Thanks for the review!
>
>> or better still, factor xfs_file_fsync() so that it calls a helper
>> that doesn't wait for data IO completion, and call that helper here
>> too. The semantics of fsync/fdatasync are too complex to have to
>> implement and maintain in multiple locations....
>
> I definitely agree with consolidating things. However, there are four
> blocking calls in xfs_file_fsync (filemap_write_and_wait_range,
> xfs_blkdev_issue_flush, _xfs_log_force_lsn, and another call to
> xfs_blkdev_issue_flush). How would you propose to make that
> non-blocking given that those steps have to happen in sequence?
OK, so re-reading your mail, I think you meant to just factor out
everything except the filemap_write_and_wait_range. Here are a couple
of patches which do that. Also, since we're not worried about blocking
in the endio processing, just making things synchronous makes the code a
lot simpler. Let me know what you think of the attached two patches
(which I've already run through xfstests).
Thanks!
Jeff
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xfs-factor-out-xfs-file-fsync.patch
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20120330/b9bc887b/attachment-0002.bat>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: xfs-flush-disk-cache-for-aio-dio-osync-writes.patch
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20120330/b9bc887b/attachment-0003.bat>
More information about the xfs
mailing list