[dm-devel] [PATCH 10/13] dm: add core functions forrequest-based dm
Nikanth Karthikesan
KNikanth at novell.com
Tue Nov 4 05:33:31 UTC 2008
Hi Kiyoshi
>>> On 10/28/2008 at 09:30 PM, Kiyoshi Ueda <k-ueda at ct.jp.nec.com> wrote:
> Hi Nikanth,
>
> On Fri, 24 Oct 2008 13:14:50 +0530, "Nikanth K" wrote:
>> On Fri, Sep 12, 2008 at 8:16 PM, Kiyoshi Ueda wrote:
>> <snip>
>>
>> > +static int dm_make_request(struct request_queue *q, struct bio *bio)
>> > +{
>> > + struct mapped_device *md = (struct mapped_device *)q->queuedata;
>> > +
>> > + if (unlikely(bio_barrier(bio))) {
>> > + bio_endio(bio, -EOPNOTSUPP);
>> > + return 0;
>> > + }
>> > +
>> <snip>
>>
>> Why not add barrier support in the beginning itself, so that targets
>> can be developed with barriers in mind? At least can we make the target
>> to return error, instead of the core?
>
> Currently, there is no barrier support in dm, not only request-based.
> Barrier support is a different feature in the next step, I think.
>
But there are some works in that direction to add support for barriers in dm.
That is why I think building request-based dm with barriers from the
ground up might be a good idea.
> As you noticed in the PATCH#11, current request-based dm has
> the limitation that multiple targets are not supported, so it may
> look barrier support in request-based dm is easy.
> But we may be able to remove the limitation in the future, so
> depending on it is not a good idea.
>
Thanks
Nikanth Karthikesan
More information about the dm-devel
mailing list