[PATCH 5.11 104/254] dm: dont report "detected capacity change" on device creation

From: Greg Kroah-Hartman
Date: Mon Mar 29 2021 - 04:56:14 EST


From: Mikulas Patocka <mpatocka@xxxxxxxxxx>

commit 5424a0b867e65f1ecf34ffe88d091a4fcbb35bc1 upstream.

When a DM device is first created it doesn't yet have an established
capacity, therefore the use of set_capacity_and_notify() should be
conditional given the potential for needless pr_info "detected
capacity change" noise even if capacity is 0.

One could argue that the pr_info() in set_capacity_and_notify() is
misplaced, but that position is not held uniformly.

Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx>
Fixes: f64d9b2eacb9 ("dm: use set_capacity_and_notify")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/md/dm.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -2016,7 +2016,10 @@ static struct dm_table *__bind(struct ma
if (size != dm_get_size(md))
memset(&md->geometry, 0, sizeof(md->geometry));

- set_capacity_and_notify(md->disk, size);
+ if (!get_capacity(md->disk))
+ set_capacity(md->disk, size);
+ else
+ set_capacity_and_notify(md->disk, size);

dm_table_event_callback(t, event_callback, md);