mirror of
git://sourceware.org/git/lvm2.git
synced 2025-01-04 09:18:36 +03:00
lvscan: Make --cache impervious to already-missing devices.
This commit is contained in:
parent
03a88da868
commit
0208665209
@ -19,6 +19,7 @@ static int _lvscan_single_lvmetad(struct cmd_context *cmd, struct logical_volume
|
|||||||
{
|
{
|
||||||
struct pv_list *pvl;
|
struct pv_list *pvl;
|
||||||
struct dm_list pvs;
|
struct dm_list pvs;
|
||||||
|
char pvid_s[64];
|
||||||
|
|
||||||
if (!lvmetad_used()) {
|
if (!lvmetad_used()) {
|
||||||
log_verbose("Ignoring lvscan --cache because lvmetad is not in use.");
|
log_verbose("Ignoring lvscan --cache because lvmetad is not in use.");
|
||||||
@ -30,9 +31,16 @@ static int _lvscan_single_lvmetad(struct cmd_context *cmd, struct logical_volume
|
|||||||
if (!get_pv_list_for_lv(lv->vg->vgmem, lv, &pvs))
|
if (!get_pv_list_for_lv(lv->vg->vgmem, lv, &pvs))
|
||||||
return ECMD_FAILED;
|
return ECMD_FAILED;
|
||||||
|
|
||||||
dm_list_iterate_items(pvl, &pvs)
|
dm_list_iterate_items(pvl, &pvs) {
|
||||||
|
if (!pvl->pv->dev) {
|
||||||
|
id_write_format(&pvl->pv->id, pvid_s, sizeof(pvid_s));
|
||||||
|
log_warn("WARNING: Device for PV %s already missing, skipping.",
|
||||||
|
pvid_s);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!lvmetad_pvscan_single(cmd, pvl->pv->dev, NULL))
|
if (!lvmetad_pvscan_single(cmd, pvl->pv->dev, NULL))
|
||||||
return ECMD_FAILED;
|
return ECMD_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
return ECMD_PROCESSED;
|
return ECMD_PROCESSED;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user