]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
libxl: advertise the support for VIR_TYPED_PARAM_STRING
authorDario Faggioli <dario.faggioli@citrix.com>
Sat, 13 Jul 2013 00:27:10 +0000 (02:27 +0200)
committerJim Fehlig <jfehlig@suse.com>
Wed, 17 Jul 2013 16:45:05 +0000 (10:45 -0600)
domainGetNumaParameters has a string typed parameter, hence it
is necessary for the libxl driver to support this.

This change implements the connectSupportsFeature hook for the
libxl driver, advertising that VIR_DRV_FEATURE_TYPED_PARAM_STRING
is supported.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Eric Blake <eblake@redhat.com>
src/libxl/libxl_driver.c

index 21c51629f9a0b8c06028bcb3cea5be78d3693447..a5addab21bee12f342136d9a3357dcd3d8b2448f 100644 (file)
@@ -4342,7 +4342,10 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
     libxl_scheduler sched_id;
     int ret = -1;
 
-    virCheckFlags(0, -1);
+    virCheckFlags(VIR_TYPED_PARAM_STRING_OKAY, -1);
+
+    /* We don't return strings, and thus trivially support this flag.  */
+    flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
 
     libxlDriverLock(driver);
     vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
@@ -4643,6 +4646,20 @@ libxlConnectListAllDomains(virConnectPtr conn,
     return ret;
 }
 
+/* Which features are supported by this driver? */
+static int
+libxlConnectSupportsFeature(virConnectPtr conn, int feature)
+{
+    if (virConnectSupportsFeatureEnsureACL(conn) < 0)
+        return -1;
+
+    switch (feature) {
+    case VIR_DRV_FEATURE_TYPED_PARAM_STRING:
+        return 1;
+    default:
+        return 0;
+    }
+}
 
 
 static virDriver libxlDriver = {
@@ -4723,6 +4740,7 @@ static virDriver libxlDriver = {
     .connectDomainEventRegisterAny = libxlConnectDomainEventRegisterAny, /* 0.9.0 */
     .connectDomainEventDeregisterAny = libxlConnectDomainEventDeregisterAny, /* 0.9.0 */
     .connectIsAlive = libxlConnectIsAlive, /* 0.9.8 */
+    .connectSupportsFeature = libxlConnectSupportsFeature, /* 1.1.1 */
 };
 
 static virStateDriver libxlStateDriver = {