Re: XFS journal write ordering constraints?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 13, 2017 at 10:14:10AM -0400, Sweet Tea Dorminy wrote:
> Thank you! I'm glad that we've established it's a mismatch between our
> device's implementation and XFS expectations.
> 
> >.... XFS issues log writes with REQ_PREFLUSH|REQ_FUA. This means
> >sequentially issued log writes have clearly specified ordering
> >constraints. i.e. the preflush completion order requirements means
> >that the block device must commit preflush+write+fua bios to stable
> >storage in the exact order they were issued by the filesystem....
> 
> That is certainly what REQ_BARRIER did back in the day. But when
> REQ_BARRIER was replaced with separate REQ_FUA and REQ_FLUSH
> flags, and barrier.txt got replaced with writeback_cache_control.txt,
> the documentation seemed to imply the ordering requirement on *issued*
> IO had gone away (but maybe I'm missing something).

Yes, that's my understanding, too, but I also thought that multiple
outstanding flushes are ordered by the block layer. i.e. flushes can
be reordered against other operations, but not other flushes.  I
could very well be wrong, but flush-to-flush ordering was what I
thought the ordered pending flush list for PREFLUSH requests in
blk_flush_complete_seq() did.

Like I said, Christoph is the expert here - he'll correct me if I'm
wrong.

Cheers,

Dave.

-- 
Dave Chinner
david@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux