Thread (66 messages) 66 messages, 14 authors, 2007-07-18

Re: Re: [RFD] BIO_RW_BARRIER - what it means for devices, filesystems, and dm/md.

From: Jens Axboe <hidden>
Date: 2007-05-31 06:24:04
Also in: dm-devel, linux-fsdevel, lkml

Possibly related (same subject, not in this thread)

On Wed, May 30 2007, Phillip Susi wrote:
quoted
That would be the exactly how I understand Documentation/block/barrier.txt:

"In other words, I/O barrier requests have the following two properties.
1. Request ordering
...
2. Forced flushing to physical medium"

"So, I/O barriers need to guarantee that requests actually get written
to non-volatile medium in order." 
I think you misinterpret this, and it probably could be worded a bit 
better.  The barrier request is about constraining the order.  The 
forced flushing is one means to implement that constraint.  The other 
alternative mentioned there is to use ordered tags.  The key part there 
is "requests actually get written to non-volatile medium _in order_", 
not "before the request completes", which would be synchronous IO.
No Stephan is right, the barrier is both an ordering and integrity
constraint. If a driver completes a barrier request before that request
and previously submitted requests are on STABLE storage, then it
violates that principle. Look at the code and the various ordering
options.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help