[libvirt] [PATCH v3 6/9] remote: Implement remote plumbing for virDomainSetIOThreads

John Ferlan jferlan at redhat.com
Tue Feb 17 21:03:55 UTC 2015


https://bugzilla.redhat.com/show_bug.cgi?id=1135491

Add the remote plumbing to support SET_IOTHREADS. The code can be
automagically generated since there's nothing special on the way in
or way out.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/remote/remote_driver.c   |  1 +
 src/remote/remote_protocol.x | 18 +++++++++++++++++-
 src/remote_protocol-structs  | 10 ++++++++++
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index e7fa843..ec49f5d 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -8118,6 +8118,7 @@ static virHypervisorDriver hypervisor_driver = {
     .domainGetVcpus = remoteDomainGetVcpus, /* 0.3.0 */
     .domainGetMaxVcpus = remoteDomainGetMaxVcpus, /* 0.3.0 */
     .domainGetIOThreadsInfo = remoteDomainGetIOThreadsInfo, /* 1.2.13 */
+    .domainSetIOThreads = remoteDomainSetIOThreads, /* 1.2.13 */
     .domainGetSecurityLabel = remoteDomainGetSecurityLabel, /* 0.6.1 */
     .domainGetSecurityLabelList = remoteDomainGetSecurityLabelList, /* 0.10.0 */
     .nodeGetSecurityModel = remoteNodeGetSecurityModel, /* 0.6.1 */
diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x
index 63fe547..f7033d7 100644
--- a/src/remote/remote_protocol.x
+++ b/src/remote/remote_protocol.x
@@ -1203,6 +1203,14 @@ struct remote_domain_get_iothreads_info_ret {
     unsigned int ret;
 };
 
+struct remote_domain_set_iothreads_args {
+    remote_nonnull_domain dom;
+    unsigned int iothreads_val;
+    opaque cpumap<REMOTE_CPUMAP_MAX>; /* (unsigned char *) */
+    unsigned int flags;
+};
+
+
 struct remote_domain_get_security_label_args {
     remote_nonnull_domain dom;
 };
@@ -5597,5 +5605,13 @@ enum remote_procedure {
      * @generate: none
      * @acl: domain:read
      */
-    REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351
+    REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351,
+
+    /**
+     * @generate: both
+     * @acl: domain:write
+     * @acl: domain:save:!VIR_DOMAIN_AFFECT_CONFIG|VIR_DOMAIN_AFFECT_LIVE
+     * @acl: domain:save:VIR_DOMAIN_AFFECT_CONFIG
+     */
+    REMOTE_PROC_DOMAIN_SET_IOTHREADS = 352
 };
diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
index e6cb5b9..d5175d7 100644
--- a/src/remote_protocol-structs
+++ b/src/remote_protocol-structs
@@ -829,6 +829,15 @@ struct remote_domain_get_iothreads_info_ret {
         } info;
         u_int                      ret;
 };
+struct remote_domain_set_iothreads_args {
+        remote_nonnull_domain      dom;
+        u_int                      iothreads_val;
+        struct {
+                u_int              cpumap_len;
+                char *             cpumap_val;
+        } cpumap;
+        u_int                      flags;
+};
 struct remote_domain_get_security_label_args {
         remote_nonnull_domain      dom;
 };
@@ -2986,4 +2995,5 @@ enum remote_procedure {
         REMOTE_PROC_DOMAIN_GET_FSINFO = 349,
         REMOTE_PROC_DOMAIN_DEFINE_XML_FLAGS = 350,
         REMOTE_PROC_DOMAIN_GET_IOTHREADS_INFO = 351,
+        REMOTE_PROC_DOMAIN_SET_IOTHREADS = 352,
 };
-- 
2.1.0




More information about the libvir-list mailing list