summaryrefslogtreecommitdiff
path: root/lib/format_text/import_vsn1.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/format_text/import_vsn1.c')
-rw-r--r--lib/format_text/import_vsn1.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/format_text/import_vsn1.c b/lib/format_text/import_vsn1.c
index e7fc8abcd..af69cfc3a 100644
--- a/lib/format_text/import_vsn1.c
+++ b/lib/format_text/import_vsn1.c
@@ -216,12 +216,16 @@ static int _read_pv(struct format_instance *fid,
/*
* Convert the uuid into a device.
*/
- if (!(pv->dev = lvmcache_device_from_pvid(fid->fmt->cmd, &pv->id, &pv->label_sector))) {
- char buffer[64] __attribute__((aligned(8)));
+ if (fid->fmt->cmd && !fid->fmt->cmd->pvscan_cache_single) {
+ if (!(pv->dev = lvmcache_device_from_pvid(fid->fmt->cmd, &pv->id, &pv->label_sector))) {
+ char buffer[64] __attribute__((aligned(8)));
- if (!id_write_format(&pv->id, buffer, sizeof(buffer)))
- buffer[0] = '\0';
- log_error_once("Couldn't find device with uuid %s.", buffer);
+ if (!id_write_format(&pv->id, buffer, sizeof(buffer)))
+ buffer[0] = '\0';
+ log_error_once("Couldn't find device with uuid %s.", buffer);
+ }
+ } else {
+ log_debug_metadata("Skip metadata pvid to device lookup for lvmetad pvscan.");
}
if (!(pv->vg_name = dm_pool_strdup(mem, vg->name)))