diff options
Diffstat (limited to 'lib/format_text/import_vsn1.c')
-rw-r--r-- | lib/format_text/import_vsn1.c | 14 |
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))) |