From: Christoph Hellwig Date: Mon, 16 Nov 2020 14:56:52 +0000 (+0100) Subject: block: remove the call to __invalidate_device in check_disk_size_change X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=99473d9db93a3bf557161373a1eb33d2873edd2e;p=linux.git block: remove the call to __invalidate_device in check_disk_size_change __invalidate_device without the kill_dirty parameter just invalidates various clean entries in caches, which doesn't really help us with anything, but can cause all kinds of horrible lock orders due to how it calls into the file system. The only reason this hasn't been a major issue is because so many people use partitions, for which no invalidation was performed anyway. Signed-off-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Signed-off-by: Jens Axboe --- diff --git a/fs/block_dev.c b/fs/block_dev.c index 9e84b1928b940..66ebf594c97f4 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -1334,12 +1334,6 @@ static void check_disk_size_change(struct gendisk *disk, i_size_write(bdev->bd_inode, disk_size); } spin_unlock(&bdev->bd_size_lock); - - if (bdev_size > disk_size) { - if (__invalidate_device(bdev, false)) - pr_warn("VFS: busy inodes on resized disk %s\n", - disk->disk_name); - } } /**