[dm-devel] [PATCH V3 0/5] dm-rq: improve sequential I/O performance
Mike Snitzer
snitzer at redhat.com
Sat Jan 13 00:45:00 UTC 2018
On Fri, Jan 12 2018 at 6:42pm -0500,
Bart Van Assche <Bart.VanAssche at wdc.com> wrote:
> On Fri, 2018-01-12 at 18:17 -0500, Mike Snitzer wrote:
> > @@ -1570,7 +1570,10 @@ static int multipath_end_io(struct dm_target *ti, struct request *clone,
> > if (error && blk_path_error(error)) {
> > struct multipath *m = ti->private;
> >
> > - r = DM_ENDIO_REQUEUE;
> > + if (r == BLK_STS_RESOURCE)
> > + r = DM_ENDIO_DELAY_REQUEUE;
> > + else
> > + r = DM_ENDIO_REQUEUE;
>
> Did you perhaps intend "error == BLK_STS_RESOURCE"?
Yes, it was a quick patch to get your thoughts.
>
> > diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h
> > index 9ba8453..da83f64 100644
> > --- a/include/linux/device-mapper.h
> > +++ b/include/linux/device-mapper.h
> > @@ -550,6 +550,7 @@ struct dm_table *dm_swap_table(struct mapped_device *md,
> > #define DM_ENDIO_DONE 0
> > #define DM_ENDIO_INCOMPLETE 1
> > #define DM_ENDIO_REQUEUE 2
> > +#define DM_ENDIO_DELAY_REQUEUE 3
> >
> > /*
> > * Definitions of return values from target map function.
> > @@ -557,7 +558,7 @@ struct dm_table *dm_swap_table(struct mapped_device *md,
> > #define DM_MAPIO_SUBMITTED 0
> > #define DM_MAPIO_REMAPPED 1
> > #define DM_MAPIO_REQUEUE DM_ENDIO_REQUEUE
> > -#define DM_MAPIO_DELAY_REQUEUE 3
> > +#define DM_MAPIO_DELAY_REQUEUE DM_ENDIO_DELAY_REQUEUE
> > #define DM_MAPIO_KILL 4
> >
> > #define dm_sector_div64(x, y)( \
>
> Please consider to introduce enumeration types for the DM_ENDIO_* and the
> DM_MAPIO_* constants such that the compiler can catch what I reported above.
OK, point taken.
> Otherwise this patch looks fine to me.
Cool, thanks.
Mike
More information about the dm-devel
mailing list