[dm-devel] [PATCH] block: remove the "detected capacity change" message
Mikulas Patocka
mpatocka at redhat.com
Wed Mar 17 15:34:39 UTC 2021
On Wed, 17 Mar 2021, Christoph Hellwig wrote:
> No, it is everything but useless. It is not needed during device
> creation, but that is something that the GENHD_FL_UP check should catch.
>
> You should probably audit the device mapper code why it sets the initial
> capacity when the gendisk is up already, as that can cause all kinds of
> problems. If the setting of the initial capacity after add_disk is
> indeed intentional you can switch to set_capacity(), but you should
> probably document the rationale in a detailed comment.
BTW. the loop device has the same problem as device mapper - it also
prints "loop0: detected capacity change from 0 to 2097152" when it is
being activated.
Would you accept this patch?
Or do you think that we should change device mapper and the loopback
driver to call "set_capacity" on the initial device creation?
Mikulas
---
block/genhd.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
Index: linux-2.6/block/genhd.c
===================================================================
--- linux-2.6.orig/block/genhd.c 2021-03-17 16:26:11.000000000 +0100
+++ linux-2.6/block/genhd.c 2021-03-17 16:26:42.000000000 +0100
@@ -71,16 +71,16 @@ bool set_capacity_and_notify(struct gend
if (size == capacity ||
(disk->flags & (GENHD_FL_UP | GENHD_FL_HIDDEN)) != GENHD_FL_UP)
return false;
-
- pr_info("%s: detected capacity change from %lld to %lld\n",
- disk->disk_name, capacity, size);
-
/*
* Historically we did not send a uevent for changes to/from an empty
* device.
*/
if (!capacity || !size)
return false;
+
+ pr_info("%s: detected capacity change from %lld to %lld\n",
+ disk->disk_name, capacity, size);
+
kobject_uevent_env(&disk_to_dev(disk)->kobj, KOBJ_CHANGE, envp);
return true;
}
More information about the dm-devel
mailing list