From 00531186fc4ebc3cfeb934c5cb30b54d2f34d30d Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Sat, 27 Feb 2021 21:20:37 +0100 Subject: [PATCH] label: check only with active device for rescan When 'lv_info()' is called with &info structure, the presence of node has to be checked from this structure. Without this we were needlesly trying to look out 0:0 device. --- lib/label/label.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/label/label.c b/lib/label/label.c index 318cf4d6c..8cbed7dd8 100644 --- a/lib/label/label.c +++ b/lib/label/label.c @@ -1424,12 +1424,12 @@ void label_scan_invalidate_lv(struct cmd_context *cmd, struct logical_volume *lv struct device *dev; dev_t devt; - if (!lv_info(cmd, lv, 0, &lvinfo, 0, 0)) - return; - - devt = MKDEV(lvinfo.major, lvinfo.minor); - if ((dev = dev_cache_get_by_devt(cmd, devt, NULL, NULL))) - label_scan_invalidate(dev); + if (lv_info(cmd, lv, 0, &lvinfo, 0, 0) && lvinfo.exists) { + /* FIXME: Still unclear what is it supposed to find */ + devt = MKDEV(lvinfo.major, lvinfo.minor); + if ((dev = dev_cache_get_by_devt(cmd, devt, NULL, NULL))) + label_scan_invalidate(dev); + } } /* -- 2.43.5