[RFC PATCH 05/16] qemuMigrationCookieAddNBD: Use qemuBlockGetNamedNodeData to fetch the capacities

Peter Krempa via Devel posted 16 patches 2 weeks, 4 days ago
[RFC PATCH 05/16] qemuMigrationCookieAddNBD: Use qemuBlockGetNamedNodeData to fetch the capacities
Posted by Peter Krempa via Devel 2 weeks, 4 days ago
From: Peter Krempa <pkrempa@redhat.com>

'qemuMonitorBlockStatsUpdateCapacityBlockdev' uses the same command
internally.

Upcoming patches will want to merge qemuMonitorBlockStatsUpdateCapacityBlockdev
into qemuMonitorGetAllBlockStatsInfo and qemuMigrationCookieAddNBD is
the only place that doesn't call qemuMonitorGetAllBlockStatsInfo.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_migration_cookie.c | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/src/qemu/qemu_migration_cookie.c b/src/qemu/qemu_migration_cookie.c
index 01529c99b8..7311a8294b 100644
--- a/src/qemu/qemu_migration_cookie.c
+++ b/src/qemu/qemu_migration_cookie.c
@@ -478,9 +478,8 @@ qemuMigrationCookieAddNBD(qemuMigrationCookie *mig,
                           virDomainObj *vm)
 {
     qemuDomainObjPrivate *priv = vm->privateData;
-    g_autoptr(GHashTable) stats = virHashNew(g_free);
+    g_autoptr(GHashTable) blockNamedNodeData = NULL;
     size_t i;
-    int rc;

     /* It is not a bug if there already is a NBD data */
     qemuMigrationCookieNBDFree(mig->nbd);
@@ -496,21 +495,15 @@ qemuMigrationCookieAddNBD(qemuMigrationCookie *mig,
     mig->nbd->disks = g_new0(struct qemuMigrationCookieNBDDisk, vm->def->ndisks);
     mig->nbd->ndisks = 0;

-    if (qemuDomainObjEnterMonitorAsync(vm, vm->job->asyncJob) < 0)
-        return -1;
-
-    rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, stats);
-
-    qemuDomainObjExitMonitor(vm);
-
-    if (rc < 0)
+    if (!(blockNamedNodeData = qemuBlockGetNamedNodeData(vm, vm->job->asyncJob)))
         return -1;

     for (i = 0; i < vm->def->ndisks; i++) {
         virDomainDiskDef *disk = vm->def->disks[i];
-        qemuBlockStats *entry;
+        qemuBlockNamedNodeData *entry;

-        if (!(entry = virHashLookup(stats, qemuBlockStorageSourceGetEffectiveNodename(disk->src))))
+        if (!(entry = virHashLookup(blockNamedNodeData,
+                                    qemuBlockStorageSourceGetEffectiveNodename(disk->src))))
             continue;

         mig->nbd->disks[mig->nbd->ndisks].target = g_strdup(disk->dst);
-- 
2.51.0