[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <468CE3E1.3000503@gmail.com>
Date: Thu, 05 Jul 2007 21:28:17 +0900
From: Tejun Heo <htejun@...il.com>
To: Jens Axboe <jens.axboe@...cle.com>
CC: Neil Brown <neilb@...e.de>, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, dm-devel@...hat.com,
linux-raid@...r.kernel.org, David Chinner <dgc@....com>,
Phillip Susi <psusi@....rr.com>,
Stefan Bader <Stefan.Bader@...ibm.com>,
Andreas Dilger <adilger@...sterfs.com>
Subject: Re: [RFD] BIO_RW_BARRIER - what it means for devices, filesystems,
and dm/md.
Hello, Jens.
Jens Axboe wrote:
> On Mon, May 28 2007, Neil Brown wrote:
>> I think the implementation priorities here are:
>>
>> 1/ implement a zero-length BIO_RW_BARRIER option.
>> 2/ Use it (or otherwise) to make all dm and md modules handle
>> barriers (and loop?).
>> 3/ Devise and implement appropriate fall-backs with-in the block layer
>> so that -EOPNOTSUP is never returned.
>> 4/ Remove unneeded cruft from filesystems (and elsewhere).
>
> This is the start of 1/ above. It's very lightly tested, it's verified
> to DTRT here at least and not crash :-)
>
> It gets rid of the ->issue_flush_fn() queue callback, all the driver
> knowledge resides in ->prepare_flush_fn() anyways. blkdev_issue_flush()
> then just reuses the empty-bio approach to queue an empty barrier, this
> should work equally well for stacked and non-stacked devices.
>
> While this patch isn't complete yet, it's clearly the right direction to
> go.
Finally took a brief look. :-) I think the sequencing for zero-length
barrier can be better done by pre-setting QUEUE_ORDSEQ_BAR in
start_ordered() rather than short circuiting the request after it's
issued. What do you think?
Thanks.
--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists