Messages in this thread | | | From | Jeff Moyer <> | Subject | Re: [RFC 00/11] DAX fsynx/msync support | Date | Thu, 05 Nov 2015 14:49:21 -0500 |
| |
Dave Chinner <david@fromorbit.com> writes:
>> But this part is not. It is up to the I/O scheduler to decide when to >> dispatch requests. It can hold on to them for a variety of reasons. >> Flush requests, however, do not go through the I/O scheduler. At the > > That's pure REQ_FLUSH bios, right? Aren't data IOs with > REQ_FLUSH|REQ_FUA sorted like any other IO?
No, they also go through the flush machinery, and so short-circuit the I/O scheduler.
>> Des xfs rely on this model for correctness? If so, I'd say we've got a >> problem > > No, it doesn't. The XFS integrity model doesn't trust the IO layers > to tell the truth about IO ordering and completion or for it's > developers to fully understand how IO layer ordering works. :P > > i.e. we wait for full completions of all dependent IO before issuing > flushes or log writes that use REQ_FLUSH|REQ_FUA semantics to ensure > the dependent IOs are fully caught by the cache flushes...
OK, phew! ;-)
-Jeff
| |