From: Christoph Hellwig Date: Thu, 22 Jul 2021 07:54:00 +0000 (+0200) Subject: loop: don't grab a reference to the block device X-Git-Tag: v5.15~432^2~53 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4b2731226d7de4302e4d8766c86e3a21c56dc3b1;p=platform%2Fkernel%2Flinux-starfive.git loop: don't grab a reference to the block device The whole device block device won't be removed while the disk is still alive, so don't bother to grab a reference to it. Signed-off-by: Christoph Hellwig Reviewed-by: Josef Bacik Reviewed-by: Ming Lei Reviewed-by: Chaitanya Kulkarni Link: https://lore.kernel.org/r/20210722075402.983367-8-hch@lst.de Signed-off-by: Jens Axboe --- diff --git a/drivers/block/loop.c b/drivers/block/loop.c index f0cdff0..a03ef50 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -1304,10 +1304,6 @@ static int loop_configure(struct loop_device *lo, fmode_t mode, if (partscan) lo->lo_disk->flags &= ~GENHD_FL_NO_PART_SCAN; - /* Grab the block_device to prevent its destruction after we - * put /dev/loopXX inode. Later in __loop_clr_fd() we bdput(bdev). - */ - bdgrab(bdev); loop_global_unlock(lo, is_loop); if (partscan) loop_reread_partitions(lo); @@ -1398,7 +1394,6 @@ static int __loop_clr_fd(struct loop_device *lo, bool release) blk_queue_physical_block_size(lo->lo_queue, 512); blk_queue_io_min(lo->lo_queue, 512); if (bdev) { - bdput(bdev); invalidate_bdev(bdev); bdev->bd_inode->i_mapping->wb_err = 0; }