summaryrefslogtreecommitdiffstats
path: root/block/scsi_ioctl.c
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2006-12-19 11:12:46 +0100
committerJens Axboe <jens.axboe@oracle.com>2006-12-19 11:12:46 +0100
commit8e5cfc45e7527eb5c8a9a22d56a7b9227e7c0913 (patch)
tree7be7c45168af77518bd6a47601e2f9e31b967dba /block/scsi_ioctl.c
parent[PATCH] __blk_rq_unmap_user() fails to return error (diff)
downloadlinux-8e5cfc45e7527eb5c8a9a22d56a7b9227e7c0913.tar.xz
linux-8e5cfc45e7527eb5c8a9a22d56a7b9227e7c0913.zip
[PATCH] Fixup blk_rq_unmap_user() API
The blk_rq_unmap_user() API is not very nice. It expects the caller to know that rq->bio has to be reset to the original bio, and it will silently do nothing if that is not done. Instead make it explicit that we need to pass in the first bio, by expecting a bio argument. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/scsi_ioctl.c')
-rw-r--r--block/scsi_ioctl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index f322b6a441d8..2528a0c0dec8 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -333,8 +333,7 @@ static int sg_io(struct file *file, request_queue_t *q,
hdr->sb_len_wr = len;
}
- rq->bio = bio;
- if (blk_rq_unmap_user(rq))
+ if (blk_rq_unmap_user(bio))
ret = -EFAULT;
/* may not have succeeded, but output values written to control