loop: Remove the unnecessary bdev checks and unused bdev variable
authorXie Yongji <xieyongji@bytedance.com>
Wed, 22 Sep 2021 12:37:10 +0000 (20:37 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 21 Oct 2021 16:12:41 +0000 (10:12 -0600)
The lo->lo_device can't be null if the lo->lo_backing_file is set.
So let's remove the unnecessary bdev checks and the entire bdev
variable in __loop_clr_fd() since the lo->lo_backing_file is already
checked before.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20210922123711.187-4-xieyongji@bytedance.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/loop.c

index eab6906..980b538 100644 (file)
@@ -1329,7 +1329,6 @@ static int __loop_clr_fd(struct loop_device *lo, bool release)
 {
        struct file *filp = NULL;
        gfp_t gfp = lo->old_gfp_mask;
-       struct block_device *bdev = lo->lo_device;
        int err = 0;
        bool partscan = false;
        int lo_number;
@@ -1397,16 +1396,14 @@ static int __loop_clr_fd(struct loop_device *lo, bool release)
        blk_queue_io_min(lo->lo_queue, 512);
        invalidate_disk(lo->lo_disk);
        loop_sysfs_exit(lo);
-       if (bdev) {
-               /* let user-space know about this change */
-               kobject_uevent(&disk_to_dev(bdev->bd_disk)->kobj, KOBJ_CHANGE);
-       }
+       /* let user-space know about this change */
+       kobject_uevent(&disk_to_dev(lo->lo_disk)->kobj, KOBJ_CHANGE);
        mapping_set_gfp_mask(filp->f_mapping, gfp);
        /* This is safe: open() is still holding a reference. */
        module_put(THIS_MODULE);
        blk_mq_unfreeze_queue(lo->lo_queue);
 
-       partscan = lo->lo_flags & LO_FLAGS_PARTSCAN && bdev;
+       partscan = lo->lo_flags & LO_FLAGS_PARTSCAN;
        lo_number = lo->lo_number;
        disk_force_media_change(lo->lo_disk, DISK_EVENT_MEDIA_CHANGE);
 out_unlock: