Messages in this thread | | | Date | Thu, 26 Mar 2009 19:32:54 +0100 | From | Jens Axboe <> | Subject | Re: Linux 2.6.29 |
| |
On Thu, Mar 26 2009, Hugh Dickins wrote: > 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.
Correct
> 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.
Per-partition definitely makes sense. The problem is that we do sorting on a per-device basis right now. But it's a good point, I'll try and take a look at how much work it would be to make it per-partition instead. It wont be trivial :-)
-- Jens Axboe
| |