summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-07-20 22:28:13 +0200
committerMarian Csontos <mcsontos@redhat.com>2021-08-11 13:03:18 +0200
commit9ce7bfdf42ca9275548249effe303fa7ff7e836a (patch)
tree958fe254c093c8c42ea69ac6ec98fee0d0403e9f
parenta44b10fd1c89ed8f1ff3273b48f92ab699fbdaa8 (diff)
downloadlvm2-9ce7bfdf42ca9275548249effe303fa7ff7e836a.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. (cherry picked from commit 5042463c5083cc71546297344058bd0fa523aa5c) (cherry picked from commit bec864948785d145bcd19603cb3781d514eb00e8)
-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;