summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-07-20 22:28:13 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-07-21 13:19:51 +0200
commit5042463c5083cc71546297344058bd0fa523aa5c (patch)
tree159fc8c1c9ae503966a00abd8166e285465a8aa7
parentd38fdb25e4debc035f1e4585432c2627460d5e50 (diff)
downloadlvm2-5042463c5083cc71546297344058bd0fa523aa5c.tar.gz
vgremove: remove forgotten pmspare
As pmspare is an invisible LV it's not getting automatically removed since vgremove removes only visible LVs and it depending LVs. If there was no other thin/cache pool volume, such pmspare stayed undeleted and caused command failure. So handle explicitelly such forgotten pmspare and remove it.
-rw-r--r--tools/vgremove.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/vgremove.c b/tools/vgremove.c
index 8f73297dc..b6685ae2a 100644
--- a/tools/vgremove.c
+++ b/tools/vgremove.c
@@ -65,6 +65,10 @@ static int _vgremove_single(struct cmd_context *cmd, const char *vg_name,
}
}
+ if (vg->pool_metadata_spare_lv &&
+ !lvremove_single(cmd, vg->pool_metadata_spare_lv, &void_handle))
+ return_ECMD_FAILED;
+
if (!lockd_free_vg_before(cmd, vg, 0))
return_ECMD_FAILED;