On Wed, Dec 20 2006, Jens Axboe wrote:
> On Wed, Dec 20 2006, FUJITA Tomonori wrote:
> > This adds SG_IO support to SG v4.
> >
> > Signed-off-by: FUJITA Tomonori <[EMAIL PROTECTED]>
> > ---
> > block/bsg.c | 23 +++++++++++++++++++++--
> > 1 files changed, 21 insertions(+), 2 deletions(-)
> >
> > diff --git a/block/bsg.c b/block/bsg.c
> > index 6d139d2..9dc5d36 100644
> > --- a/block/bsg.c
> > +++ b/block/bsg.c
> > @@ -945,8 +945,27 @@ bsg_ioctl(struct inode *inode, struct fi
> > void __user *uarg = (void __user *) arg;
> > return scsi_cmd_ioctl(file, bd->disk, cmd, uarg);
> > }
> > - case SG_IO:
> > - return -EINVAL;
> > + case SG_IO: {
> > + struct request *rq;
> > + struct bio *bio;
> > + struct sg_io_v4 hdr;
> > +
> > + if (copy_from_user(&hdr, uarg, sizeof(hdr)))
> > + return -EFAULT;
> > +
> > + rq = bsg_map_hdr(bd, &hdr);
> > + if (IS_ERR(rq))
> > + return PTR_ERR(rq);
> > +
> > + bio = rq->bio;
>
> Pointless assignment. In fact the bio can be completely removed.
> > + blk_execute_rq(bd->queue, bd->disk, rq, 0);
> > + blk_complete_sgv4_hdr_rq(rq, &hdr, bio);
My mistake, the bio assignment is fine and of course needed.
--
Jens Axboe
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html