summaryrefslogtreecommitdiffstats
path: root/lib/metadata/lv_manip.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2012-01-25 08:57:25 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2012-01-25 08:57:25 +0000
commit0926438aada6d3db54680aeebaf6746def1fa665 (patch)
treec2ab2d20c478ae1ca81e374957a387d4e52497e7 /lib/metadata/lv_manip.c
parentd55aa53816162801da9689b629042d0177cf0d1c (diff)
downloadlvm2-0926438aada6d3db54680aeebaf6746def1fa665.tar.gz
lvm2-0926438aada6d3db54680aeebaf6746def1fa665.tar.xz
lvm2-0926438aada6d3db54680aeebaf6746def1fa665.zip
Thin prevent removal of its data and metadata LVs
LVs cannot be removed while there are linked to thin pool. (Gives better error message, than validation).
Diffstat (limited to 'lib/metadata/lv_manip.c')
-rw-r--r--lib/metadata/lv_manip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index d51d4b55..03e07742 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -3172,6 +3172,12 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv,
return 0;
}
+ if (lv_is_thin_pool_data(lv) || lv_is_thin_pool_metadata(lv)) {
+ log_error("Can't remove logical volume %s used by a thin pool.",
+ lv->name);
+ return 0;
+ }
+
if (lv->status & LOCKED) {
log_error("Can't remove locked LV %s", lv->name);
return 0;