[libvirt] [PATCH v2 1/4] qemu: Use 'niothreadids' instead of 'iothreads'

John Ferlan jferlan at redhat.com
Thu Oct 15 20:43:52 UTC 2015


Although theoretically both should be the same value, the niothreadids
should be used in favor of iothreads when performing comparisons. This
leaves the iothreads as a purely numeric value to be saved in the config
file.  The one exception to the rule is virDomainIOThreadIDDefArrayInit
where the iothreadids are being generated from the iothreads count since
iothreadids were added after initial iothreads support.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/conf/domain_audit.c |  4 ++--
 src/conf/domain_conf.c  |  4 ++--
 src/qemu/qemu_command.c |  2 +-
 src/qemu/qemu_driver.c  | 16 ++++++++--------
 src/qemu/qemu_process.c |  6 +++---
 5 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c
index caebdba..b842495 100644
--- a/src/conf/domain_audit.c
+++ b/src/conf/domain_audit.c
@@ -886,8 +886,8 @@ virDomainAuditStart(virDomainObjPtr vm, const char *reason, bool success)
     virDomainAuditMemory(vm, 0, virDomainDefGetMemoryActual(vm->def),
                          "start", true);
     virDomainAuditVcpu(vm, 0, vm->def->vcpus, "start", true);
-    if (vm->def->iothreads)
-        virDomainAuditIOThread(vm, 0, vm->def->iothreads, "start", true);
+    if (vm->def->niothreadids)
+        virDomainAuditIOThread(vm, 0, vm->def->niothreadids, "start", true);
 
     virDomainAuditLifecycle(vm, "start", reason, success);
 }
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 217179d..70b2afc 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -15220,7 +15220,7 @@ virDomainDefParseXML(xmlDocPtr xml,
         goto error;
     }
     if (n) {
-        if (n > def->iothreads) {
+        if (n > def->niothreadids) {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                            _("too many iothreadsched nodes in cputune"));
             goto error;
@@ -21729,7 +21729,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
         virBufferAsprintf(buf, " current='%u'", def->vcpus);
     virBufferAsprintf(buf, ">%u</vcpu>\n", def->maxvcpus);
 
-    if (def->iothreads > 0) {
+    if (def->niothreadids > 0) {
         virBufferAsprintf(buf, "<iothreads>%u</iothreads>\n",
                           def->iothreads);
         /* Only print out iothreadids if we read at least one */
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index f727d0b..f99e363 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -9462,7 +9462,7 @@ qemuBuildCommandLine(virConnectPtr conn,
     virCommandAddArg(cmd, smp);
     VIR_FREE(smp);
 
-    if (def->iothreads > 0 &&
+    if (def->niothreadids > 0 &&
         virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD)) {
         /* Create iothread objects using the defined iothreadids list
          * and the defined id and name from the list. These may be used
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 8cd5ee3..a2cc002 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5671,13 +5671,13 @@ qemuDomainGetIOThreadsConfig(virDomainDefPtr targetDef,
     size_t i;
     int ret = -1;
 
-    if (targetDef->iothreads == 0)
+    if (targetDef->niothreadids == 0)
         return 0;
 
     if ((hostcpus = nodeGetCPUCount(NULL)) < 0)
         goto cleanup;
 
-    if (VIR_ALLOC_N(info_ret, targetDef->iothreads) < 0)
+    if (VIR_ALLOC_N(info_ret, targetDef->niothreadids) < 0)
         goto cleanup;
 
     for (i = 0; i < targetDef->niothreadids; i++) {
@@ -5707,11 +5707,11 @@ qemuDomainGetIOThreadsConfig(virDomainDefPtr targetDef,
 
     *info = info_ret;
     info_ret = NULL;
-    ret = targetDef->iothreads;
+    ret = targetDef->niothreadids;
 
  cleanup:
     if (info_ret) {
-        for (i = 0; i < targetDef->iothreads; i++)
+        for (i = 0; i < targetDef->niothreadids; i++)
             virDomainIOThreadInfoFree(info_ret[i]);
         VIR_FREE(info_ret);
     }
@@ -5910,8 +5910,8 @@ qemuDomainHotplugAddIOThread(virQEMUDriverPtr driver,
     size_t idx;
     int rc = -1;
     int ret = -1;
-    unsigned int orig_niothreads = vm->def->iothreads;
-    unsigned int exp_niothreads = vm->def->iothreads;
+    unsigned int orig_niothreads = vm->def->niothreadids;
+    unsigned int exp_niothreads = vm->def->niothreadids;
     int new_niothreads = 0;
     qemuMonitorIOThreadInfoPtr *new_iothreads = NULL;
     virCgroupPtr cgroup_iothread = NULL;
@@ -6039,8 +6039,8 @@ qemuDomainHotplugDelIOThread(virQEMUDriverPtr driver,
     char *alias = NULL;
     int rc = -1;
     int ret = -1;
-    unsigned int orig_niothreads = vm->def->iothreads;
-    unsigned int exp_niothreads = vm->def->iothreads;
+    unsigned int orig_niothreads = vm->def->niothreadids;
+    unsigned int exp_niothreads = vm->def->niothreadids;
     int new_niothreads = 0;
     qemuMonitorIOThreadInfoPtr *new_iothreads = NULL;
 
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 8aa9efc..e31885b 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -2308,11 +2308,11 @@ qemuProcessDetectIOThreadPIDs(virQEMUDriverPtr driver,
     if (niothreads < 0)
         goto cleanup;
 
-    if (niothreads != vm->def->iothreads) {
+    if (niothreads != vm->def->niothreadids) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("got wrong number of IOThread pids from QEMU monitor. "
-                         "got %d, wanted %d"),
-                       niothreads, vm->def->iothreads);
+                         "got %d, wanted %zu"),
+                       niothreads, vm->def->niothreadids);
         goto cleanup;
     }
 
-- 
2.1.0




More information about the libvir-list mailing list