summaryrefslogtreecommitdiffstats
path: root/0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch
diff options
context:
space:
mode:
Diffstat (limited to '0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch')
-rw-r--r--0002-bdev-Refresh-bdev-size-for-disks-without-partitionin.patch61
1 files changed, 0 insertions, 61 deletions
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 <jack@suse.cz>
-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 <jack@suse.cz>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- 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
-