diff --git a/fs/block_dev.c b/fs/block_dev.c
index 33650fc537c4849cc18cfc72d68a9895137d4c04..57e2786dd2a56e092ef686a29faa4e7f8c2c2258 100644
--- a/fs/block_dev.c
+++ b/fs/block_dev.c
@@ -902,6 +902,7 @@ void check_disk_size_change(struct gendisk *disk, struct block_device *bdev)
 		       "%s: detected capacity change from %lld to %lld\n",
 		       name, bdev_size, disk_size);
 		i_size_write(bdev->bd_inode, disk_size);
+		flush_disk(bdev);
 	}
 }
 EXPORT_SYMBOL(check_disk_size_change);