From 2cba0ea9f96ed658d11df4428ec20502da1867c0 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Wed, 20 Feb 2013 16:14:24 +0100 Subject: [PATCH] thin: removal of external_origin --- lib/metadata/lv_manip.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 72516ea52..ef9f64359 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -3352,6 +3352,12 @@ int lv_remove_single(struct cmd_context *cmd, struct logical_volume *lv, return 0; } + if (lv_is_external_origin(lv)) { + log_error("Can't remove external origin logical volume \"%s\".", + lv->name); + return 0; + } + if (lv->status & MIRROR_IMAGE) { log_error("Can't remove logical volume %s used by a mirror", lv->name); @@ -3578,6 +3584,10 @@ int lv_remove_with_dependencies(struct cmd_context *cmd, struct logical_volume * return_0; } + if (lv_is_external_origin(lv) && + !_lv_remove_segs_using_this_lv(cmd, lv, force, level, "external origin")) + return_0; + if (lv_is_used_thin_pool(lv) && !_lv_remove_segs_using_this_lv(cmd, lv, force, level, "pool")) return_0; -- 2.43.5