[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191211180155-mutt-send-email-mst@kernel.org>
Date: Wed, 11 Dec 2019 18:05:07 -0500
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Jens Axboe <axboe@...nel.dk>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
Jason Wang <jasowang@...hat.com>,
Doug Gilbert <dgilbert@...erlog.com>,
Kai Mäkisara <Kai.Makisara@...umbus.fi>,
linux-kernel@...r.kernel.org, y2038@...ts.linaro.org,
Paolo Bonzini <pbonzini@...hat.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
Bart Van Assche <bvanassche@....org>,
Hannes Reinecke <hare@...e.com>,
Damien Le Moal <damien.lemoal@....com>,
John Garry <john.garry@...wei.com>,
virtualization@...ts.linux-foundation.org,
linux-block@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH 15/24] compat_ioctl: scsi: move ioctl handling into
drivers
On Wed, Dec 11, 2019 at 09:42:49PM +0100, Arnd Bergmann wrote:
> Each driver calling scsi_ioctl() gets an equivalent compat_ioctl()
> handler that implements the same commands by calling scsi_compat_ioctl().
>
> The scsi_cmd_ioctl() and scsi_cmd_blk_ioctl() functions are compatible
> at this point, so any driver that calls those can do so for both native
> and compat mode, with the argument passed through compat_ptr().
>
> With this, we can remove the entries from fs/compat_ioctl.c. The new
> code is larger, but should be easier to maintain and keep updated with
> newly added commands.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> ---
> drivers/block/virtio_blk.c | 3 +
> drivers/scsi/ch.c | 9 ++-
> drivers/scsi/sd.c | 50 ++++++--------
> drivers/scsi/sg.c | 44 ++++++++-----
> drivers/scsi/sr.c | 57 ++++++++++++++--
> drivers/scsi/st.c | 51 ++++++++------
> fs/compat_ioctl.c | 132 +------------------------------------
> 7 files changed, 142 insertions(+), 204 deletions(-)
>
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 7ffd719d89de..fbbf18ac1d5d 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -405,6 +405,9 @@ static int virtblk_getgeo(struct block_device *bd, struct hd_geometry *geo)
>
> static const struct block_device_operations virtblk_fops = {
> .ioctl = virtblk_ioctl,
> +#ifdef CONFIG_COMPAT
> + .compat_ioctl = blkdev_compat_ptr_ioctl,
> +#endif
> .owner = THIS_MODULE,
> .getgeo = virtblk_getgeo,
> };
Hmm - is virtio blk lumped in with scsi things intentionally?
--
MST
Powered by blists - more mailing lists