scsi: scsi_ioctl: Remove scsi_cmd_blk_ioctl()
authorChristoph Hellwig <hch@lst.de>
Sat, 24 Jul 2021 07:20:18 +0000 (09:20 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 29 Jul 2021 02:24:25 +0000 (22:24 -0400)
Open code scsi_cmd_blk_ioctl() in its two callers.

Link: https://lore.kernel.org/r/20210724072033.1284840-10-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
block/scsi_ioctl.c
drivers/scsi/sd.c
drivers/scsi/sr.c
include/linux/blkdev.h

index d247431..f813843 100644 (file)
@@ -854,19 +854,6 @@ int scsi_verify_blk_ioctl(struct block_device *bd, unsigned int cmd)
 }
 EXPORT_SYMBOL(scsi_verify_blk_ioctl);
 
-int scsi_cmd_blk_ioctl(struct block_device *bd, fmode_t mode,
-                      unsigned int cmd, void __user *arg)
-{
-       int ret;
-
-       ret = scsi_verify_blk_ioctl(bd, cmd);
-       if (ret < 0)
-               return ret;
-
-       return scsi_cmd_ioctl(bd->bd_disk->queue, bd->bd_disk, mode, cmd, arg);
-}
-EXPORT_SYMBOL(scsi_cmd_blk_ioctl);
-
 /**
  * scsi_req_init - initialize certain fields of a scsi_request structure
  * @req: Pointer to a scsi_request structure.
index 0b87ca0..d65bfe5 100644 (file)
@@ -1583,7 +1583,10 @@ static int sd_ioctl(struct block_device *bdev, fmode_t mode,
        case SCSI_IOCTL_GET_BUS_NUMBER:
                break;
        default:
-               error = scsi_cmd_blk_ioctl(bdev, mode, cmd, p);
+               error = scsi_verify_blk_ioctl(bdev, cmd);
+               if (error < 0)
+                       return error;
+               error = scsi_cmd_ioctl(disk->queue, disk, mode, cmd, p);
                if (error != -ENOTTY)
                        return error;
        }
index 7948416..b903e54 100644 (file)
@@ -556,7 +556,8 @@ static void sr_block_release(struct gendisk *disk, fmode_t mode)
 static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
                          unsigned long arg)
 {
-       struct scsi_cd *cd = scsi_cd(bdev->bd_disk);
+       struct gendisk *disk = bdev->bd_disk;
+       struct scsi_cd *cd = scsi_cd(disk);
        struct scsi_device *sdev = cd->device;
        void __user *argp = (void __user *)arg;
        int ret;
@@ -579,7 +580,10 @@ static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
        case SCSI_IOCTL_GET_BUS_NUMBER:
                break;
        default:
-               ret = scsi_cmd_blk_ioctl(bdev, mode, cmd, argp);
+               ret = scsi_verify_blk_ioctl(bdev, cmd);
+               if (ret < 0)
+                       goto put;
+               ret = scsi_cmd_ioctl(disk->queue, disk, mode, cmd, argp);
                if (ret != -ENOTTY)
                        goto put;
                ret = cdrom_ioctl(&cd->cdi, bdev, mode, cmd, arg);
index 3177181..19aa3d5 100644 (file)
@@ -889,8 +889,6 @@ extern blk_status_t blk_insert_cloned_request(struct request_queue *q,
 int blk_rq_append_bio(struct request *rq, struct bio *bio);
 extern void blk_queue_split(struct bio **);
 extern int scsi_verify_blk_ioctl(struct block_device *, unsigned int);
-extern int scsi_cmd_blk_ioctl(struct block_device *, fmode_t,
-                             unsigned int, void __user *);
 extern int scsi_cmd_ioctl(struct request_queue *, struct gendisk *, fmode_t,
                          unsigned int, void __user *);
 extern int sg_scsi_ioctl(struct request_queue *, struct gendisk *, fmode_t,