From caa351c3d61a0219285297c17fbb8c45847e489c Mon Sep 17 00:00:00 2001 From: Jeremy Cline Date: Fri, 13 Dec 2019 17:11:19 -0500 Subject: Linux v5.4.3 --- ...h-bdev-size-for-disks-without-partitionin.patch | 61 ---------------------- 1 file changed, 61 deletions(-) delete mode 100644 0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch (limited to '0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch') diff --git a/0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch b/0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch deleted file mode 100644 index c988fa6a8..000000000 --- a/0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 91ee136f5e2179a0994985ea043468bbbcd400d4 Mon Sep 17 00:00:00 2001 -From: Jan Kara -Date: Mon, 21 Oct 2019 10:38:00 +0200 -Subject: [PATCH 2/2] bdev: Refresh bdev size for disks without partitioning - -Currently, block device size in not updated on second and further open -for block devices where partition scan is disabled. This is particularly -annoying for example for DVD drives as that means block device size does -not get updated once the media is inserted into a drive if the device is -already open when inserting the media. This is actually always the case -for example when pktcdvd is in use. - -Fix the problem by revalidating block device size on every open even for -devices with partition scan disabled. - -Signed-off-by: Jan Kara -Signed-off-by: Jens Axboe ---- - fs/block_dev.c | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/fs/block_dev.c b/fs/block_dev.c -index 88c6d35ec71d..d612468ee66b 100644 ---- a/fs/block_dev.c -+++ b/fs/block_dev.c -@@ -1403,11 +1403,7 @@ static void flush_disk(struct block_device *bdev, bool kill_dirty) - "resized disk %s\n", - bdev->bd_disk ? bdev->bd_disk->disk_name : ""); - } -- -- if (!bdev->bd_disk) -- return; -- if (disk_part_scan_enabled(bdev->bd_disk)) -- bdev->bd_invalidated = 1; -+ bdev->bd_invalidated = 1; - } - - /** -@@ -1514,10 +1510,15 @@ static void __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part); - - static void bdev_disk_changed(struct block_device *bdev, bool invalidate) - { -- if (invalidate) -- invalidate_partitions(bdev->bd_disk, bdev); -- else -- rescan_partitions(bdev->bd_disk, bdev); -+ if (disk_part_scan_enabled(bdev->bd_disk)) { -+ if (invalidate) -+ invalidate_partitions(bdev->bd_disk, bdev); -+ else -+ rescan_partitions(bdev->bd_disk, bdev); -+ } else { -+ check_disk_size_change(bdev->bd_disk, bdev, !invalidate); -+ bdev->bd_invalidated = 0; -+ } - } - - /* --- -2.21.0 - -- cgit