aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2007-07-09 06:39:20 -0400
committerJens Axboe <jens.axboe@oracle.com>2007-07-16 02:52:45 -0400
commit45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5 (patch)
treeb8e7598b26ce446577e162189e635f6b87b10a5b /drivers/scsi
parent7e75d73080d822d2bbbd5b0f7f293719dd1f9109 (diff)
bsg: add a request_queue argument to scsi_cmd_ioctl()
bsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl commands. scsi_cmd_ioctl() gets a request queue from a gendisk arguement. This prevents bsg being bound to SCSI devices that don't have a gendisk (like OSD). This adds a request_queue argument to scsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn't use a gendisk so it's safe for any SCSI devices to use scsi_cmd_ioctl(). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/sd.c2
-rw-r--r--drivers/scsi/st.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 448d316f12d7..424d557284a9 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
@@ -684,7 +684,7 @@ static int sd_ioctl(struct inode * inode, struct file * filp,
684 case SCSI_IOCTL_GET_BUS_NUMBER: 684 case SCSI_IOCTL_GET_BUS_NUMBER:
685 return scsi_ioctl(sdp, cmd, p); 685 return scsi_ioctl(sdp, cmd, p);
686 default: 686 default:
687 error = scsi_cmd_ioctl(filp, disk, cmd, p); 687 error = scsi_cmd_ioctl(filp, disk->queue, disk, cmd, p);
688 if (error != -ENOTTY) 688 if (error != -ENOTTY)
689 return error; 689 return error;
690 } 690 }
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c
index 55bfeccf68a2..a4f7b8465773 100644
--- a/drivers/scsi/st.c
+++ b/drivers/scsi/st.c
@@ -3549,7 +3549,8 @@ static int st_ioctl(struct inode *inode, struct file *file,
3549 !capable(CAP_SYS_RAWIO)) 3549 !capable(CAP_SYS_RAWIO))
3550 i = -EPERM; 3550 i = -EPERM;
3551 else 3551 else
3552 i = scsi_cmd_ioctl(file, STp->disk, cmd_in, p); 3552 i = scsi_cmd_ioctl(file, STp->disk->queue,
3553 STp->disk, cmd_in, p);
3553 if (i != -ENOTTY) 3554 if (i != -ENOTTY)
3554 return i; 3555 return i;
3555 break; 3556 break;