]> xenbits.xensource.com Git - libvirt.git/commitdiff
libxl: support backend domain setting for disk and net devices
authorMarek Marczykowski <marmarek@invisiblethingslab.com>
Fri, 20 Feb 2015 03:22:06 +0000 (04:22 +0100)
committerJim Fehlig <jfehlig@suse.com>
Fri, 20 Feb 2015 21:50:24 +0000 (14:50 -0700)
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.  Specifying backend domain by ID or UUID is currently not
supported.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
src/libxl/libxl_conf.c

index e092b11df5a9f3da54859e4c9f1346650fcd2569..232166028160f6f992c5a44c710f26f54ba00bb6 100644 (file)
@@ -975,6 +975,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->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;
 }
 
@@ -1113,6 +1125,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;
 }