[libvirt] [PATCH 14/16] LXC from native: map lxc.arch to /domain/os/type at arch

Cédric Bosdonnat cbosdonnat at suse.com
Tue Jan 14 13:50:03 UTC 2014


---
 src/lxc/lxc_native.c                            | 8 ++++++++
 tests/lxcconf2xmldata/lxcconf2xml-simple.config | 1 +
 tests/lxcconf2xmldata/lxcconf2xml-simple.xml    | 2 +-
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index 75e05a5..1c0f325 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -882,6 +882,7 @@ lxcParseConfigString(const char *config,
 {
     virDomainDefPtr vmdef = NULL;
     virPropertiesPtr properties = NULL;
+    char *arch = NULL;
     lxcFstabPtr fstabEntries = NULL;
     char *mountLine = NULL;
     lxcFstabPtr fstabIter = NULL;
@@ -915,6 +916,13 @@ lxcParseConfigString(const char *config,
     if (VIR_STRDUP(vmdef->os.type, "exe") < 0)
         goto error;
 
+    if ((arch = virPropertiesLookup(properties, "lxc.arch"))) {
+        if (STREQ(arch, "x86") || STREQ(arch, "i686"))
+            vmdef->os.arch = VIR_ARCH_I686;
+        else if (STREQ(arch, "x86_64") || STREQ(arch, "amd64"))
+            vmdef->os.arch = VIR_ARCH_X86_64;
+    }
+
     if (VIR_STRDUP(vmdef->os.init, "/sbin/init") < 0)
         goto error;
 
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-simple.config b/tests/lxcconf2xmldata/lxcconf2xml-simple.config
index 12428bb..3553881 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-simple.config
+++ b/tests/lxcconf2xmldata/lxcconf2xml-simple.config
@@ -11,6 +11,7 @@ lxc.network.name = eth0
 lxc.mount.entry = /etc/resolv.conf etc/resolv.conf none bind,ro 0 0
 lxc.rootfs = /var/lib/lxc/migrate_test/rootfs
 lxc.utsname = migrate_test
+lxc.arch = x86
 lxc.autodev=1
 lxc.tty = 2
 lxc.pts = 1024
diff --git a/tests/lxcconf2xmldata/lxcconf2xml-simple.xml b/tests/lxcconf2xmldata/lxcconf2xml-simple.xml
index 763ba1b..4027ea7 100644
--- a/tests/lxcconf2xmldata/lxcconf2xml-simple.xml
+++ b/tests/lxcconf2xmldata/lxcconf2xml-simple.xml
@@ -5,7 +5,7 @@
   <currentMemory unit='KiB'>0</currentMemory>
   <vcpu placement='static' current='0'>1</vcpu>
   <os>
-    <type>exe</type>
+    <type arch='i686'>exe</type>
     <init>/sbin/init</init>
   </os>
   <clock offset='utc'/>
-- 
1.8.5.2




More information about the libvir-list mailing list