# Re: \[PATCH 5/7\] xfs: honor the O\_SYNC flag for aysnchronous direct I/O requests

- List: linux-ext4
- 1 message, 1 author
- Page: https://ratatoskr.run/linux-ext4/2012/03/62800/t

## Re: \[PATCH 5/7\] xfs: honor the O\_SYNC flag for aysnchronous direct I/O requests

- From: Jeff Moyer \<hidden\>
- Date: 2012-03-30 19:46:09 
- Message: https://ratatoskr.run/linux-ext4/2012/03/62800.md

```text
Jeff Moyer [ref] 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

```
