mtip32xx: remove the call to fsync_bdev on removal
authorChristoph Hellwig <hch@lst.de>
Tue, 30 Jun 2020 14:33:54 +0000 (16:33 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 1 Dec 2020 21:53:38 +0000 (14:53 -0700)
del_gendisk already calls fsync_bdev for every partition, no need
to do this twice.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/mtip32xx/mtip32xx.c
drivers/block/mtip32xx/mtip32xx.h

index 153e2cdecb4d40a43c107187b36d57da56192ae6..53ac59d19ae530b7d2e0cbb0b0f9939258473c53 100644 (file)
@@ -3687,7 +3687,6 @@ skip_create_disk:
        /* Enable the block device and add it to /dev */
        device_add_disk(&dd->pdev->dev, dd->disk, NULL);
 
-       dd->bdev = bdget_disk(dd->disk, 0);
        /*
         * Now that the disk is active, initialize any sysfs attributes
         * managed by the protocol layer.
@@ -3721,9 +3720,6 @@ start_service_thread:
        return rv;
 
 kthread_run_error:
-       bdput(dd->bdev);
-       dd->bdev = NULL;
-
        /* Delete our gendisk. This also removes the device from /dev */
        del_gendisk(dd->disk);
 
@@ -3804,14 +3800,6 @@ static int mtip_block_remove(struct driver_data *dd)
        blk_mq_tagset_busy_iter(&dd->tags, mtip_no_dev_cleanup, dd);
        blk_mq_unquiesce_queue(dd->queue);
 
-       /*
-        * Delete our gendisk structure. This also removes the device
-        * from /dev
-        */
-       if (dd->bdev) {
-               bdput(dd->bdev);
-               dd->bdev = NULL;
-       }
        if (dd->disk) {
                if (test_bit(MTIP_DDF_INIT_DONE_BIT, &dd->dd_flag))
                        del_gendisk(dd->disk);
@@ -4206,9 +4194,6 @@ static void mtip_pci_remove(struct pci_dev *pdev)
        } while (atomic_read(&dd->irq_workers_active) != 0 &&
                time_before(jiffies, to));
 
-       if (!dd->sr)
-               fsync_bdev(dd->bdev);
-
        if (atomic_read(&dd->irq_workers_active) != 0) {
                dev_warn(&dd->pdev->dev,
                        "Completion workers still active!\n");
index e22a7f0523bf303db496fcaaf81abfb2f8aa4606..88f4206310e4c8e7150edd82058a042e08d88771 100644 (file)
@@ -463,8 +463,6 @@ struct driver_data {
 
        int isr_binding;
 
-       struct block_device *bdev;
-
        struct list_head online_list; /* linkage for online list */
 
        struct list_head remove_list; /* linkage for removing list */