OSDN Git Service

block: move clearing bd_invalidated into check_disk_size_change
authorChristoph Hellwig <hch@lst.de>
Thu, 14 Nov 2019 14:34:37 +0000 (15:34 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 14 Nov 2019 14:44:01 +0000 (07:44 -0700)
Both callers of check_disk_size_change clear bd_invalidate directly
after the call, so move the clearing into check_disk_size_change
itself.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/block_dev.c

index 9558a2f..ee63c27 100644 (file)
@@ -1433,6 +1433,7 @@ static void check_disk_size_change(struct gendisk *disk,
                if (bdev_size > disk_size)
                        flush_disk(bdev, false);
        }
+       bdev->bd_invalidated = 0;
 }
 
 /**
@@ -1462,7 +1463,6 @@ int revalidate_disk(struct gendisk *disk)
 
                mutex_lock(&bdev->bd_mutex);
                check_disk_size_change(disk, bdev, ret == 0);
-               bdev->bd_invalidated = 0;
                mutex_unlock(&bdev->bd_mutex);
                bdput(bdev);
        }
@@ -1526,7 +1526,6 @@ rescan:
                disk->fops->revalidate_disk(disk);
 
        check_disk_size_change(disk, bdev, !invalidate);
-       bdev->bd_invalidated = 0;
 
        if (get_capacity(disk)) {
                ret = blk_add_partitions(disk, bdev);