[libvirt] [PATCH RFC] lxc: Include support to lxc version 3.0 and higher.

Julio Faracco jcfaracco at gmail.com
Mon Oct 1 02:18:58 UTC 2018


This patch introduce the new settings for LXC 3.0 and higher. The older
versions keep the compatibility to deprecated settings for LXC, but
after release 3.0, the compatibility was removed. This commit adds the
support to the refactored settings.

Signed-off-by: Julio Faracco <jcfaracco at gmail.com>
---
 src/lxc/lxc_native.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index cbdec723dd..c0f70ebb7d 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -200,7 +200,9 @@ lxcSetRootfs(virDomainDefPtr def,
     int type = VIR_DOMAIN_FS_TYPE_MOUNT;
     VIR_AUTOFREE(char *) value = NULL;
 
-    if (virConfGetValueString(properties, "lxc.rootfs", &value) <= 0)
+    if (virConfGetValueString(properties, "lxc.rootfs", &value) <= 0 &&
+        /* Legacy config keys were removed after release 3.0. */
+        virConfGetValueString(properties, "lxc.rootfs.path", &value) <= 0)
         return -1;
 
     if (STRPREFIX(value, "/dev/"))
@@ -1041,7 +1043,9 @@ lxcParseConfigString(const char *config,
     if (VIR_STRDUP(vmdef->os.init, "/sbin/init") < 0)
         goto error;
 
-    if (virConfGetValueString(properties, "lxc.utsname", &value) <= 0 ||
+    if ((virConfGetValueString(properties, "lxc.utsname", &value) <= 0 &&
+         /* Legacy config keys were removed after release 3.0. */
+         virConfGetValueString(properties, "lxc.uts.name", &value) <= 0) ||
         VIR_STRDUP(vmdef->name, value) < 0)
         goto error;
     if (!vmdef->name && (VIR_STRDUP(vmdef->name, "unnamed") < 0))
@@ -1051,7 +1055,9 @@ lxcParseConfigString(const char *config,
         goto error;
 
     /* Look for fstab: we shouldn't have it */
-    if (virConfGetValue(properties, "lxc.mount")) {
+    if (virConfGetValue(properties, "lxc.mount") ||
+         /* Legacy config keys were removed after release 3.0. */
+        virConfGetValue(properties, "lxc.mount.fstab")) {
         virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
                        _("lxc.mount found, use lxc.mount.entry lines instead"));
         goto error;
-- 
2.17.1




More information about the libvir-list mailing list