[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