mtd_blkdevs: don't override BLKFLSBUF
authorChristoph Hellwig <hch@lst.de>
Tue, 3 Nov 2020 10:00:09 +0000 (11:00 +0100)
committerJens Axboe <axboe@kernel.dk>
Mon, 16 Nov 2020 15:14:29 +0000 (08:14 -0700)
BLKFLSBUF is not supposed to actually send a flush command to the device,
but to tear down buffer cache structures.  Remove the mtd_blkdevs
implementation and just use the default semantics instead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/mtd/mtd_blkdevs.c

index 0c05f77..fb8e12d 100644 (file)
@@ -298,38 +298,10 @@ unlock:
        return ret;
 }
 
-static int blktrans_ioctl(struct block_device *bdev, fmode_t mode,
-                             unsigned int cmd, unsigned long arg)
-{
-       struct mtd_blktrans_dev *dev = blktrans_dev_get(bdev->bd_disk);
-       int ret = -ENXIO;
-
-       if (!dev)
-               return ret;
-
-       mutex_lock(&dev->lock);
-
-       if (!dev->mtd)
-               goto unlock;
-
-       switch (cmd) {
-       case BLKFLSBUF:
-               ret = dev->tr->flush ? dev->tr->flush(dev) : 0;
-               break;
-       default:
-               ret = -ENOTTY;
-       }
-unlock:
-       mutex_unlock(&dev->lock);
-       blktrans_dev_put(dev);
-       return ret;
-}
-
 static const struct block_device_operations mtd_block_ops = {
        .owner          = THIS_MODULE,
        .open           = blktrans_open,
        .release        = blktrans_release,
-       .ioctl          = blktrans_ioctl,
        .getgeo         = blktrans_getgeo,
 };