Extract out the parts of qemuDomainGetJobStatsInternal that get
the migration stats. We're about to add the ability to get just
dump information.
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/qemu/qemu_driver.c | 52 ++++++++++++++++++++++++++++++++------------------
1 file changed, 33 insertions(+), 19 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 066c778726..d615fabf83 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -13145,13 +13145,43 @@ qemuConnectBaselineCPU(virConnectPtr conn ATTRIBUTE_UNUSED,
static int
+qemuDomainGetJobInfoMigrationStats(virQEMUDriverPtr driver,
+ virDomainObjPtr vm,
+ qemuDomainJobInfoPtr jobInfo)
+{
+ qemuDomainObjPrivatePtr priv = vm->privateData;
+ bool events = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVENT);
+
+ if (jobInfo->status == QEMU_DOMAIN_JOB_STATUS_ACTIVE ||
+ jobInfo->status == QEMU_DOMAIN_JOB_STATUS_MIGRATING ||
+ jobInfo->status == QEMU_DOMAIN_JOB_STATUS_QEMU_COMPLETED ||
+ jobInfo->status == QEMU_DOMAIN_JOB_STATUS_POSTCOPY) {
+ if (events &&
+ jobInfo->status != QEMU_DOMAIN_JOB_STATUS_ACTIVE &&
+ qemuMigrationFetchStats(driver, vm, QEMU_ASYNC_JOB_NONE,
+ jobInfo, NULL) < 0)
+ return -1;
+
+ if (jobInfo->status == QEMU_DOMAIN_JOB_STATUS_ACTIVE &&
+ qemuMigrationFetchMirrorStats(driver, vm, QEMU_ASYNC_JOB_NONE,
+ jobInfo) < 0)
+ return -1;
+
+ if (qemuDomainJobInfoUpdateTime(jobInfo) < 0)
+ return -1;
+ }
+
+ return 0;
+}
+
+
+static int
qemuDomainGetJobStatsInternal(virQEMUDriverPtr driver,
virDomainObjPtr vm,
bool completed,
qemuDomainJobInfoPtr jobInfo)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
- bool events = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVENT);
int ret = -1;
if (completed) {
@@ -13186,24 +13216,8 @@ qemuDomainGetJobStatsInternal(virQEMUDriverPtr driver,
}
*jobInfo = *priv->job.current;
- if (jobInfo->status == QEMU_DOMAIN_JOB_STATUS_ACTIVE ||
- jobInfo->status == QEMU_DOMAIN_JOB_STATUS_MIGRATING ||
- jobInfo->status == QEMU_DOMAIN_JOB_STATUS_QEMU_COMPLETED ||
- jobInfo->status == QEMU_DOMAIN_JOB_STATUS_POSTCOPY) {
- if (events &&
- jobInfo->status != QEMU_DOMAIN_JOB_STATUS_ACTIVE &&
- qemuMigrationFetchStats(driver, vm, QEMU_ASYNC_JOB_NONE,
- jobInfo, NULL) < 0)
- goto cleanup;
-
- if (jobInfo->status == QEMU_DOMAIN_JOB_STATUS_ACTIVE &&
- qemuMigrationFetchMirrorStats(driver, vm, QEMU_ASYNC_JOB_NONE,
- jobInfo) < 0)
- goto cleanup;
-
- if (qemuDomainJobInfoUpdateTime(jobInfo) < 0)
- goto cleanup;
- }
+ if (qemuDomainGetJobInfoMigrationStats(driver, vm, jobInfo) < 0)
+ goto cleanup;
ret = 0;
--
2.13.6