Messages in this thread | | | Date | Thu, 26 Mar 2009 18:21:27 +0000 (GMT) | From | Hugh Dickins <> | Subject | Re: Linux 2.6.29 |
| |
On Thu, 26 Mar 2009, Jens Axboe wrote: > On Thu, Mar 26 2009, Hugh Dickins wrote: > > On Thu, 26 Mar 2009, Jens Axboe wrote: > > > On Wed, Mar 25 2009, Hugh Dickins wrote: > > > > > > > > Tangential question, but am I right in thinking that BIO_RW_BARRIER > > > > similarly bars across all partitions, whereas its WRITE_BARRIER and > > > > DISCARD_BARRIER users would actually prefer it to apply to just one? > > > > > > All the barriers refer to just that range which the barrier itself > > > references. > > > > Ah, thank you: then I had a fundamental misunderstanding of them, > > and need to go away and work that out some more. > > > > Though I didn't read it before asking, doesn't the I/O Barriers section > > of Documentation/block/biodoc.txt give a very different impression? > > I'm sensing a miscommunication here... The ordering constraint is across > devices, at least that is how it is implemented. For file system > barriers (like BIO_RW_BARRIER), it could be per-partition instead. Doing > so would involve some changes at the block layer side, not necessarily > trivial. So I think you were asking about ordering, I was answering > about the write guarantee :-)
Ah, thank you again, perhaps I did understand after all.
So, directing a barrier (WRITE_BARRIER or DISCARD_BARRIER) to a range of sectors in one partition interposes a barrier into the queue of I/O across (all partitions of) that whole device.
I think that's not how filesystems really want barriers to behave, and might tend to discourage us from using barriers more freely. But I have zero appreciation of whether it's a significant issue worth non-trivial change - just wanted to get it out into the open.
Hugh
| |