[libvirt] [PATCHv4 03/10] libxl: support backend domain setting for disk and net devices

Marek Marczykowski-Górecki marmarek at invisiblethingslab.com
Fri Feb 20 03:22:06 UTC 2015


From: Marek Marczykowski <marmarek at invisiblethingslab.com>

This implement handling of <backenddomain name=''/>  parameter introduced in
previous patch.

Works on Xen >= 4.3, because only there libxl supports setting backend domain
by name, not XID.

Signed-off-by: Marek Marczykowski-Górecki <marmarek at invisiblethingslab.com>
---
Changes in v2:
 - rebase on 1.0.6+
 - fix indentation
 - make libxl_name_to_domid switch more defensive

Changes in v3:
 - rebase on 1.2.12+
 - leave name->XID resolution to libxl itself, which greatly simplify
   the code (but requires Xen at least 4.3)

Changes in v4:
 - change back to def->domain_name in disk handling code

 src/libxl/libxl_conf.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 0555b91..5cf3d8f 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -971,6 +971,18 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
         return -1;
     }
 
+    if (l_disk->domain_name) {
+#ifdef LIBXL_HAVE_DEVICE_BACKEND_DOMNAME
+        if (VIR_STRDUP(x_disk->backend_domname, l_disk->src->domain_name) < 0)
+            return -1;
+#else
+        virReportError(VIR_ERR_XML_DETAIL, "%s",
+                _("this version of libxenlight does not "
+                  "support backend domain name"));
+        return -1;
+#endif
+    }
+
     return 0;
 }
 
@@ -1098,6 +1110,18 @@ libxlMakeNic(virDomainDefPtr def,
             return -1;
     }
 
+    if (l_nic->domain_name) {
+#ifdef LIBXL_HAVE_DEVICE_BACKEND_DOMNAME
+        if (VIR_STRDUP(x_nic->backend_domname, l_nic->domain_name) < 0)
+            return -1;
+#else
+        virReportError(VIR_ERR_XML_DETAIL, "%s",
+                _("this version of libxenlight does not "
+                  "support backend domain name"));
+        return -1;
+#endif
+    }
+
     return 0;
 }
 
-- 
1.8.3.1




More information about the libvir-list mailing list