[PATCH 05/10] qemuAgentFSInfoFormatParams: Convert interface code to virTypedParamList

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Also remove stale TODO comment as we already report disk target.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/qemu/qemu_driver.c | 86 +++++++++++-------------------------------
 1 file changed, 23 insertions(+), 63 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 515577b71a..0d88f182b8 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19265,59 +19265,32 @@ static void
 qemuAgentFSInfoFormatParams(qemuAgentFSInfo **fsinfo,
                             int nfs,
                             virDomainDef *vmdef,
-                            virTypedParameterPtr *params,
-                            int *nparams, int *maxparams)
+                            virTypedParamList *list)
 {
-    size_t i, j;
-
-    /* FIXME: get disk target */
+    size_t i;

-    if (virTypedParamsAddUInt(params, nparams, maxparams,
-                              "fs.count", nfs) < 0)
-        return;
+    virTypedParamListAddUInt(list, nfs, "fs.count");

     for (i = 0; i < nfs; i++) {
-        char param_name[VIR_TYPED_PARAM_FIELD_LENGTH];
-        g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                   "fs.%zu.name", i);
-        if (virTypedParamsAddString(params, nparams, maxparams,
-                                    param_name, fsinfo[i]->name) < 0)
-            return;
-        g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                   "fs.%zu.mountpoint", i);
-        if (virTypedParamsAddString(params, nparams, maxparams,
-                                    param_name, fsinfo[i]->mountpoint) < 0)
-            return;
-        g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                   "fs.%zu.fstype", i);
-        if (virTypedParamsAddString(params, nparams, maxparams,
-                                    param_name, fsinfo[i]->fstype) < 0)
-            return;
+        size_t j;
+
+        virTypedParamListAddString(list, fsinfo[i]->name, "fs.%zu.name", i);
+        virTypedParamListAddString(list, fsinfo[i]->mountpoint, "fs.%zu.mountpoint", i);
+        virTypedParamListAddString(list, fsinfo[i]->fstype, "fs.%zu.fstype", i);

         /* disk usage values are not returned by older guest agents, so
          * only add the params if the value is set */
-        g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                   "fs.%zu.total-bytes", i);
-        if (fsinfo[i]->total_bytes != -1 &&
-            virTypedParamsAddULLong(params, nparams, maxparams,
-                                    param_name, fsinfo[i]->total_bytes) < 0)
-            return;
+        if (fsinfo[i]->total_bytes != -1)
+            virTypedParamListAddULLong(list, fsinfo[i]->total_bytes, "fs.%zu.total-bytes", i);
+        if (fsinfo[i]->used_bytes != -1)
+            virTypedParamListAddULLong(list, fsinfo[i]->used_bytes, "fs.%zu.used-bytes", i);

-        g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                   "fs.%zu.used-bytes", i);
-        if (fsinfo[i]->used_bytes != -1 &&
-            virTypedParamsAddULLong(params, nparams, maxparams,
-                                    param_name, fsinfo[i]->used_bytes) < 0)
-            return;
+        virTypedParamListAddUInt(list, fsinfo[i]->ndisks, "fs.%zu.disk.count", i);

-        g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                   "fs.%zu.disk.count", i);
-        if (virTypedParamsAddUInt(params, nparams, maxparams,
-                                  param_name, fsinfo[i]->ndisks) < 0)
-            return;
         for (j = 0; j < fsinfo[i]->ndisks; j++) {
             virDomainDiskDef *diskdef = NULL;
             qemuAgentDiskAddress *d = fsinfo[i]->disks[j];
+
             /* match the disk to the target in the vm definition */
             diskdef = virDomainDiskByAddress(vmdef,
                                              &d->pci_controller,
@@ -19325,28 +19298,15 @@ qemuAgentFSInfoFormatParams(qemuAgentFSInfo **fsinfo,
                                              d->bus,
                                              d->target,
                                              d->unit);
-            if (diskdef) {
-                g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                           "fs.%zu.disk.%zu.alias", i, j);
-                if (diskdef->dst &&
-                    virTypedParamsAddString(params, nparams, maxparams,
-                                            param_name, diskdef->dst) < 0)
-                    return;
-            }
+            if (diskdef && diskdef->dst)
+                virTypedParamListAddString(list, diskdef->dst,
+                                           "fs.%zu.disk.%zu.alias", i, j);
+
+            if (d->serial)
+                virTypedParamListAddString(list, d->serial, "fs.%zu.disk.%zu.serial", i, j);

-            g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                       "fs.%zu.disk.%zu.serial", i, j);
-            if (d->serial &&
-                virTypedParamsAddString(params, nparams, maxparams,
-                                        param_name, d->serial) < 0)
-                return;
-
-            g_snprintf(param_name, VIR_TYPED_PARAM_FIELD_LENGTH,
-                       "fs.%zu.disk.%zu.device", i, j);
-            if (d->devnode &&
-                virTypedParamsAddString(params, nparams, maxparams,
-                                        param_name, d->devnode) < 0)
-                return;
+            if (d->devnode)
+                virTypedParamListAddString(list, d->devnode, "fs.%zu.disk.%zu.device", i, j);
         }
     }
 }
@@ -19504,7 +19464,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
         /* we need to convert the agent fsinfo struct to parameters and match
          * it to the vm disk target */
         if (nfs > 0)
-            qemuAgentFSInfoFormatParams(agentfsinfo, nfs, vm->def, params, nparams, &maxparams);
+            qemuAgentFSInfoFormatParams(agentfsinfo, nfs, vm->def, list);

         if (ndisks > 0)
             qemuAgentDiskInfoFormatParams(agentdiskinfo, ndisks, vm->def, list);
-- 
2.48.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux