[lxc-devel] [PATCH] Use rdepends when non-thinpool LVM container is cloned

KATOH Yasufumi karma at jazz.email.ne.jp
Wed Mar 4 09:39:14 UTC 2015


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 <karma at jazz.email.ne.jp>
---
 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 197ab55..cf7c043 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.2.1



More information about the lxc-devel mailing list