block: use revalidate_disk_size in set_capacity_revalidate_and_notify
authorChristoph Hellwig <hch@lst.de>
Tue, 1 Sep 2020 15:57:44 +0000 (17:57 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 2 Sep 2020 14:00:07 +0000 (08:00 -0600)
Only virtio_blk and xen-blkfront set the revalidate argument to true,
and both do not implement the ->revalidate_disk method.  So switch
to the helper that just updates the size instead.

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

index a36be97..081f103 100644 (file)
@@ -50,14 +50,13 @@ static void disk_release_events(struct gendisk *disk);
  * zero and will not be set to zero
  */
 void set_capacity_revalidate_and_notify(struct gendisk *disk, sector_t size,
-                                       bool revalidate)
+                                       bool update_bdev)
 {
        sector_t capacity = get_capacity(disk);
 
        set_capacity(disk, size);
-
-       if (revalidate)
-               revalidate_disk(disk);
+       if (update_bdev)
+               revalidate_disk_size(disk, true);
 
        if (capacity != size && capacity != 0 && size != 0) {
                char *envp[] = { "RESIZE=1", NULL };
index f76c8ba..02a7319 100644 (file)
@@ -313,8 +313,8 @@ static inline int get_disk_ro(struct gendisk *disk)
 extern void disk_block_events(struct gendisk *disk);
 extern void disk_unblock_events(struct gendisk *disk);
 extern void disk_flush_events(struct gendisk *disk, unsigned int mask);
-extern void set_capacity_revalidate_and_notify(struct gendisk *disk,
-                       sector_t size, bool revalidate);
+void set_capacity_revalidate_and_notify(struct gendisk *disk, sector_t size,
+               bool update_bdev);
 extern unsigned int disk_clear_events(struct gendisk *disk, unsigned int mask);
 
 /* drivers/char/random.c */