Message ID | 20201124132751.3747337-6-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/45] blk-cgroup: fix a hd_struct leak in blkcg_fill_root_iostats | expand |
On Tue 24-11-20 14:27:11, Christoph Hellwig wrote: > del_gendisk already calls fsync_bdev for every partition, no need > to do this twice. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Makes sense to me. You can add: Reviewed-by: Jan Kara <jack@suse.cz> Honza > --- > drivers/block/mtip32xx/mtip32xx.c | 15 --------------- > drivers/block/mtip32xx/mtip32xx.h | 2 -- > 2 files changed, 17 deletions(-) > > diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c > index 153e2cdecb4d40..53ac59d19ae530 100644 > --- a/drivers/block/mtip32xx/mtip32xx.c > +++ b/drivers/block/mtip32xx/mtip32xx.c > @@ -3687,7 +3687,6 @@ static int mtip_block_initialize(struct driver_data *dd) > /* 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 @@ static int mtip_block_initialize(struct driver_data *dd) > 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"); > diff --git a/drivers/block/mtip32xx/mtip32xx.h b/drivers/block/mtip32xx/mtip32xx.h > index e22a7f0523bf30..88f4206310e4c8 100644 > --- a/drivers/block/mtip32xx/mtip32xx.h > +++ b/drivers/block/mtip32xx/mtip32xx.h > @@ -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 */ > -- > 2.29.2 >
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c index 153e2cdecb4d40..53ac59d19ae530 100644 --- a/drivers/block/mtip32xx/mtip32xx.c +++ b/drivers/block/mtip32xx/mtip32xx.c @@ -3687,7 +3687,6 @@ static int mtip_block_initialize(struct driver_data *dd) /* 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 @@ static int mtip_block_initialize(struct driver_data *dd) 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"); diff --git a/drivers/block/mtip32xx/mtip32xx.h b/drivers/block/mtip32xx/mtip32xx.h index e22a7f0523bf30..88f4206310e4c8 100644 --- a/drivers/block/mtip32xx/mtip32xx.h +++ b/drivers/block/mtip32xx/mtip32xx.h @@ -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 */
del_gendisk already calls fsync_bdev for every partition, no need to do this twice. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/block/mtip32xx/mtip32xx.c | 15 --------------- drivers/block/mtip32xx/mtip32xx.h | 2 -- 2 files changed, 17 deletions(-)