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); + } } /*