From 65f51ca9ae9c99a19c1d075a4c43c458737352d7 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Fri, 14 Aug 2015 20:17:21 +0200 Subject: [PATCH] Make LXC_CLONE_KEEPNAME work - Passing the LXC_CLONE_KEEPNAME flag to do_lxcapi_clone() was not respected and let to unexpected behaviour for e.g. lxc-clone. We wrap clear_unexp_config_line() and set_config_item_line() in an appropriate if-condition. Signed-off-by: Christian Brauner Acked-by: Serge E. Hallyn --- src/lxc/lxccontainer.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c index b988821a1..20f2257cb 100644 --- a/src/lxc/lxccontainer.c +++ b/src/lxc/lxccontainer.c @@ -2873,12 +2873,15 @@ static struct lxc_container *do_lxcapi_clone(struct lxc_container *c, const char if (ret < 0) goto out; - clear_unexp_config_line(c2->lxc_conf, "lxc.utsname", false); // update utsname - if (!set_config_item_locked(c2, "lxc.utsname", newname)) { - ERROR("Error setting new hostname"); - goto out; + if (!(flags & LXC_CLONE_KEEPNAME)) { + clear_unexp_config_line(c2->lxc_conf, "lxc.utsname", false); + + if (!set_config_item_locked(c2, "lxc.utsname", newname)) { + ERROR("Error setting new hostname"); + goto out; + } } // copy hooks -- 2.47.3