From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> Currently the libvirt_lxc process uses VIR_DOMAIN_XML_INACTIVE when loading the XML for the container. This means it looses any dynamic data such as the, just allocated, SELinux label. Further there is an inconsistency in the libvirt LXC driver whereby it saves the live config XML and then later overwrites the file with the live status XML instead. Add a comment about this for future reference. * src/lxc/lxc_controller.c: Remove VIR_DOMAIN_XML_INACTIVE when loading XML * src/lxc/lxc_driver.c: Add comment about inconsistent config file formats Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> --- src/lxc/lxc_controller.c | 2 +- src/lxc/lxc_driver.c | 14 ++++++-------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 2617423..1e3ec30 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -1781,7 +1781,7 @@ int main(int argc, char *argv[]) if ((def = virDomainDefParseFile(caps, configFile, 1 << VIR_DOMAIN_VIRT_LXC, - VIR_DOMAIN_XML_INACTIVE)) == NULL) + 0)) == NULL) goto cleanup; if (def->nnets != nveths) { diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 7e7affd..ffdd4ac 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1955,17 +1955,15 @@ static int lxcVmStart(virConnectPtr conn, lxcProcessAutoDestroyAdd(driver, vm, conn) < 0) goto error; - /* - * Again, need to save the live configuration, because the function - * requires vm->def->id != -1 to save tty info surely. - */ - if (virDomainSaveConfig(driver->stateDir, vm->def) < 0) - goto error; - if (virDomainObjSetDefTransient(driver->caps, vm, false) < 0) goto error; - /* Write domain status to disk. */ + /* Write domain status to disk. + * + * XXX: Earlier we wrote the plain "live" domain XML to this + * location for the benefit of libvirt_lxc. We're now overwriting + * it with the live status XML instead. This is a (currently + * harmless) inconsistency we should fix one day */ if (virDomainSaveStatus(driver->caps, driver->stateDir, vm) < 0) goto error; -- 1.7.10 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list