From: Peter Krempa Date: Wed, 1 Oct 2025 12:36:12 +0000 (+0200) Subject: qemuMigrationCookieAddNBD: Use qemuBlockGetNamedNodeData to fetch the capacities X-Git-Tag: v11.9.0-rc1~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5485e7e83280c4ec8b94cfae943ab2337e505e6b;p=thirdparty%2Flibvirt.git qemuMigrationCookieAddNBD: Use qemuBlockGetNamedNodeData to fetch the capacities '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 Reviewed-by: Michal Privoznik --- 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);