[dm-devel] [PATCH 10/13] dm: add core functions for request-based dm

Kiyoshi Ueda k-ueda at ct.jp.nec.com
Tue Oct 28 16:00:31 UTC 2008


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.

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,
Kiyoshi Ueda




More information about the dm-devel mailing list