summaryrefslogtreecommitdiffstats
path: root/tools/lvremove.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2010-04-23 19:27:10 +0000
committerMike Snitzer <snitzer@redhat.com>2010-04-23 19:27:10 +0000
commit60267bdce8adac651e6bfea9ada5856042bcf01b (patch)
tree4ab9bd06d7deea8071c3135ea261d779b6a29699 /tools/lvremove.c
parentd6d08486c8ca83e75c7f75d32d9f18e36670321e (diff)
downloadlvm2-60267bdce8adac651e6bfea9ada5856042bcf01b.tar.gz
lvm2-60267bdce8adac651e6bfea9ada5856042bcf01b.tar.xz
lvm2-60267bdce8adac651e6bfea9ada5856042bcf01b.zip
Disallow the direct removal of a merging snapshot.
Allow lv_remove_with_dependencies() to know the top-level LV that was requested to be removed (otherwise it recurses and we lose context). A merging snapshot cannot be removed directly but the associated origin can be. Disallow removal of a merging snapshot unless the associated origin is also being removed.
Diffstat (limited to 'tools/lvremove.c')
-rw-r--r--tools/lvremove.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/lvremove.c b/tools/lvremove.c
index fd8a677c..dbf2f1d9 100644
--- a/tools/lvremove.c
+++ b/tools/lvremove.c
@@ -26,7 +26,7 @@ static int lvremove_single(struct cmd_context *cmd, struct logical_volume *lv,
if (lv_is_cow(lv) && lv_is_virtual_origin(origin = origin_from_cow(lv)))
lv = origin;
- if (!lv_remove_with_dependencies(cmd, lv, arg_count(cmd, force_ARG))) {
+ if (!lv_remove_with_dependencies(cmd, lv, arg_count(cmd, force_ARG), 0)) {
stack;
return ECMD_FAILED;
}