]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemuMigrationCookieAddNBD: Use qemuBlockGetNamedNodeData to fetch the capacities
authorPeter Krempa <pkrempa@redhat.com>
Wed, 1 Oct 2025 12:36:12 +0000 (14:36 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Tue, 21 Oct 2025 13:35:45 +0000 (15:35 +0200)
'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>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_migration_cookie.c

index 01529c99b864cb4beae9ae42402ede159187c98d..7311a8294b09a15adc57d6ed1f0153294af9d568 100644 (file)
@@ -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);