Re: [PATCH 2/8] block: fix SG_IO vector request data lengthhandling

From: Jens Axboe
Date: Wed Apr 01 2009 - 08:25:22 EST


On Wed, Apr 01 2009, FUJITA Tomonori wrote:
> On Wed, 1 Apr 2009 13:50:58 +0200
> Jens Axboe <jens.axboe@xxxxxxxxxx> wrote:
>
> > On Wed, Apr 01 2009, FUJITA Tomonori wrote:
> > > On Wed, 1 Apr 2009 20:04:38 +0900
> > > Tejun Heo <tj@xxxxxxxxxx> wrote:
> > >
> > > > Impact: fix SG_IO behavior such that it matches the documentation
> > > >
> > > > SG_IO howto says that if ->dxfer_len and sum of iovec disagress, the
> > > > shorter one wins. However, the current implementation returns -EINVAL
> > > > for such cases. Trim iovc if it's longer than ->dxfer_len.
> > >
> > > Is that description about sg's SG_IO?
> >
> > The more important question is what sg.c actually does, that's more
> > important than the documentation.
>
> Do you think that Doug is a person who makes such mistake? ;)
>
> Seems that sg worked as the howto says. But I think that I broke it
> when I converted sg to use the block layer. I'll fix it soon.

OK

> About this patch, as we know, there are lots of subtle differences
> between sg's SG_IO and the block's. I'm not sure that it's a good idea
> to change the behavior of the block's SG_IO.

Depends on what it is. For something like this where the alternative is
returning -EINVAL and the patch makes it work, we definitely should just
do it.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/