OSDN Git Service

block: remove the disk argument from blk_drop_partitions
authorChristoph Hellwig <hch@lst.de>
Tue, 14 Apr 2020 07:28:57 +0000 (09:28 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 20 Apr 2020 17:32:59 +0000 (11:32 -0600)
The gendisk can be trivially deducted from the block_device.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/partitions/core.c
fs/block_dev.c
include/linux/genhd.h

index 7d06259..deccc3f 100644 (file)
@@ -603,23 +603,23 @@ static bool disk_unlock_native_capacity(struct gendisk *disk)
        }
 }
 
-int blk_drop_partitions(struct gendisk *disk, struct block_device *bdev)
+int blk_drop_partitions(struct block_device *bdev)
 {
        struct disk_part_iter piter;
        struct hd_struct *part;
        int res;
 
-       if (!disk_part_scan_enabled(disk))
+       if (!disk_part_scan_enabled(bdev->bd_disk))
                return 0;
        if (bdev->bd_part_count || bdev->bd_openers > 1)
                return -EBUSY;
-       res = invalidate_partition(disk, 0);
+       res = invalidate_partition(bdev->bd_disk, 0);
        if (res)
                return res;
 
-       disk_part_iter_init(&piter, disk, DISK_PITER_INCL_EMPTY);
+       disk_part_iter_init(&piter, bdev->bd_disk, DISK_PITER_INCL_EMPTY);
        while ((part = disk_part_iter_next(&piter)))
-               delete_partition(disk, part);
+               delete_partition(bdev->bd_disk, part);
        disk_part_iter_exit(&piter);
 
        return 0;
index 52b6f64..9c8de54 100644 (file)
@@ -1517,7 +1517,7 @@ int bdev_disk_changed(struct block_device *bdev, bool invalidate)
        lockdep_assert_held(&bdev->bd_mutex);
 
 rescan:
-       ret = blk_drop_partitions(disk, bdev);
+       ret = blk_drop_partitions(bdev);
        if (ret)
                return ret;
 
index 9b3fffd..058d895 100644 (file)
@@ -339,7 +339,7 @@ extern dev_t blk_lookup_devt(const char *name, int partno);
 
 int bdev_disk_changed(struct block_device *bdev, bool invalidate);
 int blk_add_partitions(struct gendisk *disk, struct block_device *bdev);
-int blk_drop_partitions(struct gendisk *disk, struct block_device *bdev);
+int blk_drop_partitions(struct block_device *bdev);
 extern void printk_all_partitions(void);
 
 extern struct gendisk *__alloc_disk_node(int minors, int node_id);