It was seen that `qemu_domain.h` file depended upon
`qemu_migration_params.h` and `qmeu_monitor.h` as they
were required by some qemu_domainjob stuctures.
This dependency was removed by the introduction of
a `void *privateData` pointer. This privateData pointer
was handled using a structure of callback functions.
Additionally, the patch also moves funcitons
`qemuDomainObjPrivateXMLFormatJob` and
`qemuDomainObjPrivateXMLParseJob` from `qemu_domain`
and handles them using the callback structure of
domain jobs.
Signed-off-by: Prathamesh Chavan
---
Previous version of this patch can be found here[1].
This patch adds a funciton to the domainJobInfo callback
structure to specifically to copy the jobInfo privateData
structure.
Also, it was noticed that qemuDomainNamespace was reciding
in `qmeu_domainjob.c`, and should rather be in its original file
`qmeu_domain.c`. hence was moved.
src/qemu/qemu_backup.c | 13 +-
src/qemu/qemu_domain.c | 251 +---
src/qemu/qemu_domainjob.c| 386 ---
src/qemu/qemu_domainjob.h| 69 --
src/qemu/qemu_driver.c | 21 +-
src/qemu/qemu_migration.c| 45 ++--
src/qemu/qemu_migration_cookie.c | 7 +-
src/qemu/qemu_migration_params.c | 9 +-
src/qemu/qemu_migration_params.h | 28 +++
src/qemu/qemu_process.c | 24 +-
10 files changed, 515 insertions(+), 338 deletions(-)
diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c
index b711f8f623..82dc7797cb 100644
--- a/src/qemu/qemu_backup.c
+++ b/src/qemu/qemu_backup.c
@@ -529,17 +529,19 @@ qemuBackupJobTerminate(virDomainObjPtr vm,
{
qemuDomainObjPrivatePtr priv = vm->privateData;
+qemuDomainJobInfoPrivatePtr completedJobInfo;
size_t i;
qemuDomainJobInfoUpdateTime(priv->job.current);
g_clear_pointer(>job.completed, qemuDomainJobInfoFree);
priv->job.completed = qemuDomainJobInfoCopy(priv->job.current);
+completedJobInfo = priv->job.completed->privateData;
-priv->job.completed->stats.backup.total = priv->backup->push_total;
-priv->job.completed->stats.backup.transferred =
priv->backup->push_transferred;
-priv->job.completed->stats.backup.tmp_used = priv->backup->pull_tmp_used;
-priv->job.completed->stats.backup.tmp_total = priv->backup->pull_tmp_total;
+completedJobInfo->stats.backup.total = priv->backup->push_total;
+completedJobInfo->stats.backup.transferred =
priv->backup->push_transferred;
+completedJobInfo->stats.backup.tmp_used = priv->backup->pull_tmp_used;
+completedJobInfo->stats.backup.tmp_total = priv->backup->pull_tmp_total;
priv->job.completed->status = jobstatus;
priv->job.completed->errmsg = g_strdup(priv->backup->errmsg);
@@ -1069,7 +1071,8 @@ qemuBackupGetJobInfoStats(virQEMUDriverPtr driver,
virDomainObjPtr vm,
qemuDomainJobInfoPtr jobInfo)
{
-qemuDomainBackupStats *stats = >stats.backup;
+qemuDomainJobInfoPrivatePtr jobInfoPriv = jobInfo->privateData;
+qemuDomainBackupStats *stats = >stats.backup;
qemuDomainObjPrivatePtr priv = vm->privateData;
qemuMonitorJobInfoPtr *blockjobs = NULL;
size_t nblockjobs = 0;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 42cc78ac1b..c77e809045 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -83,6 +83,11 @@
VIR_LOG_INIT("qemu.qemu_domain");
+VIR_ENUM_IMPL(qemuDomainNamespace,
+ QEMU_DOMAIN_NS_LAST,
+ "mount",
+);
+
/**
* qemuDomainObjFromDomain:
* @domain: Domain pointer that has to be looked up
@@ -2162,103 +2167,6 @@ qemuDomainObjPrivateXMLFormatPR(virBufferPtr buf,
virBufferAddLit(buf, "\n");
}
-
-static int
-qemuDomainObjPrivateXMLFormatNBDMigrationSource(virBufferPtr buf,
-virStorageSourcePtr src,
-virDomainXMLOptionPtr xmlopt)
-{
-g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER;
-g_auto(virBuffer) childBuf = VIR_BUFFER_INIT_CHILD(buf);
-
-virBufferAsprintf(, " type='%s' format='%s'",
- virStorageTypeToString(src->type),
- virStorageFileFormatTypeToString(src->format));
-
-if (virDomainDiskSourceFormat(, src, "source", 0, false,
- VIR_DOMAIN_DEF_FORMAT_STATUS,
- false, false, xmlopt) < 0)
-return -1;
-
-virXMLFormatElement(buf, "migrationSource", , );
-
-return 0;
-}
-
-
-static int
-qemuDomainObjPrivateXMLFormatNBDMigration(virBufferPtr buf,
- virDomainObjPtr vm)
-{
-qemuDomainObjPrivatePtr priv = vm->privateData;
-size_t i;
-virDomainDiskDefPtr disk;
-qemuDomainDiskPrivatePtr diskPriv;
-
-for (i = 0; i < vm->def->ndisks; i++) {
-g_auto(virBuffer) attrBuf = VIR_BUFFER_INITIALIZER;
-