From 6b9a014a6e430dadb3422b6951a4af376ce6410d Mon Sep 17 00:00:00 2001 From: KATOH Yasufumi Date: Wed, 4 Mar 2015 18:39:14 +0900 Subject: [PATCH] Use rdepends when non-thinpool LVM container is cloned When a non-thinpool LVM container which have snapshotted clone is destroyed, the LV of snapshotted clone was also deleted. This patch prevent it. The original non-thinpool LVM container of snapshotted clone cannot be now destroyed. Signed-off-by: KATOH Yasufumi Acked-by: Serge E. Hallyn --- src/lxc/bdev.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lxc/bdev.c b/src/lxc/bdev.c index 197ab55e9..cf7c0432f 100644 --- a/src/lxc/bdev.c +++ b/src/lxc/bdev.c @@ -3403,8 +3403,12 @@ struct bdev *bdev_copy(struct lxc_container *c0, const char *cname, *needs_rdep = 0; if (bdevtype && strcmp(orig->type, "dir") == 0 && (strcmp(bdevtype, "aufs") == 0 || - strcmp(bdevtype, "overlayfs") == 0)) + strcmp(bdevtype, "overlayfs") == 0)) { *needs_rdep = 1; + } else if (snap && strcmp(orig->type, "lvm") == 0 && + !lvm_is_thin_volume(orig->src)) { + *needs_rdep = 1; + } new = bdev_get(bdevtype ? bdevtype : orig->type); if (!new) { -- 2.47.2