]> www.infradead.org Git - users/hch/block.git/commitdiff
zram: cleanup reset_store
authorChristoph Hellwig <hch@lst.de>
Wed, 23 Mar 2022 08:33:16 +0000 (09:33 +0100)
committerChristoph Hellwig <hch@lst.de>
Tue, 29 Mar 2022 15:44:31 +0000 (17:44 +0200)
Use a local variable for the gendisk instead of the part0 block_device,
as the gendisk is what this function actually operates on.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
drivers/block/zram/zram_drv.c

index e9474b02012deb758f55df23859a986072a8dd98..fd83fad59beb19b9e21e1c906211c9877f0991d5 100644 (file)
@@ -1786,7 +1786,7 @@ static ssize_t reset_store(struct device *dev,
        int ret;
        unsigned short do_reset;
        struct zram *zram;
-       struct block_device *bdev;
+       struct gendisk *disk;
 
        ret = kstrtou16(buf, 10, &do_reset);
        if (ret)
@@ -1796,26 +1796,26 @@ static ssize_t reset_store(struct device *dev,
                return -EINVAL;
 
        zram = dev_to_zram(dev);
-       bdev = zram->disk->part0;
+       disk = zram->disk;
 
-       mutex_lock(&bdev->bd_disk->open_mutex);
+       mutex_lock(&disk->open_mutex);
        /* Do not reset an active device or claimed device */
-       if (bdev->bd_openers || zram->claim) {
-               mutex_unlock(&bdev->bd_disk->open_mutex);
+       if (disk->part0->bd_openers || zram->claim) {
+               mutex_unlock(&disk->open_mutex);
                return -EBUSY;
        }
 
        /* From now on, anyone can't open /dev/zram[0-9] */
        zram->claim = true;
-       mutex_unlock(&bdev->bd_disk->open_mutex);
+       mutex_unlock(&disk->open_mutex);
 
        /* Make sure all the pending I/O are finished */
-       sync_blockdev(bdev);
+       sync_blockdev(disk->part0);
        zram_reset_device(zram);
 
-       mutex_lock(&bdev->bd_disk->open_mutex);
+       mutex_lock(&disk->open_mutex);
        zram->claim = false;
-       mutex_unlock(&bdev->bd_disk->open_mutex);
+       mutex_unlock(&disk->open_mutex);
 
        return len;
 }