mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: domain: Split out formating of Job data from private data formatter
Separate the code for later refactoring Signed-off-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
4833e128a2
commit
d2cd7215e7
@ -2057,13 +2057,58 @@ qemuDomainObjPrivateXMLFormatAllowReboot(virBufferPtr buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemuDomainObjPrivateXMLFormatJob(virBufferPtr buf,
|
||||||
|
virDomainObjPtr vm,
|
||||||
|
qemuDomainObjPrivatePtr priv)
|
||||||
|
{
|
||||||
|
qemuDomainJob job;
|
||||||
|
|
||||||
|
job = priv->job.active;
|
||||||
|
if (!qemuDomainTrackJob(job))
|
||||||
|
priv->job.active = QEMU_JOB_NONE;
|
||||||
|
|
||||||
|
if (priv->job.active || priv->job.asyncJob) {
|
||||||
|
virBufferAsprintf(buf, "<job type='%s' async='%s'",
|
||||||
|
qemuDomainJobTypeToString(priv->job.active),
|
||||||
|
qemuDomainAsyncJobTypeToString(priv->job.asyncJob));
|
||||||
|
if (priv->job.phase) {
|
||||||
|
virBufferAsprintf(buf, " phase='%s'",
|
||||||
|
qemuDomainAsyncJobPhaseToString(
|
||||||
|
priv->job.asyncJob, priv->job.phase));
|
||||||
|
}
|
||||||
|
if (priv->job.asyncJob != QEMU_ASYNC_JOB_MIGRATION_OUT) {
|
||||||
|
virBufferAddLit(buf, "/>\n");
|
||||||
|
} else {
|
||||||
|
size_t i;
|
||||||
|
virDomainDiskDefPtr disk;
|
||||||
|
qemuDomainDiskPrivatePtr diskPriv;
|
||||||
|
|
||||||
|
virBufferAddLit(buf, ">\n");
|
||||||
|
virBufferAdjustIndent(buf, 2);
|
||||||
|
|
||||||
|
for (i = 0; i < vm->def->ndisks; i++) {
|
||||||
|
disk = vm->def->disks[i];
|
||||||
|
diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
|
||||||
|
virBufferAsprintf(buf, "<disk dev='%s' migrating='%s'/>\n",
|
||||||
|
disk->dst,
|
||||||
|
diskPriv->migrating ? "yes" : "no");
|
||||||
|
}
|
||||||
|
|
||||||
|
virBufferAdjustIndent(buf, -2);
|
||||||
|
virBufferAddLit(buf, "</job>\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
priv->job.active = job;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
qemuDomainObjPrivateXMLFormat(virBufferPtr buf,
|
qemuDomainObjPrivateXMLFormat(virBufferPtr buf,
|
||||||
virDomainObjPtr vm)
|
virDomainObjPtr vm)
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||||
const char *monitorpath;
|
const char *monitorpath;
|
||||||
qemuDomainJob job;
|
|
||||||
|
|
||||||
/* priv->monitor_chr is set only for qemu */
|
/* priv->monitor_chr is set only for qemu */
|
||||||
if (priv->monConfig) {
|
if (priv->monConfig) {
|
||||||
@ -2114,42 +2159,7 @@ qemuDomainObjPrivateXMLFormat(virBufferPtr buf,
|
|||||||
if (priv->lockState)
|
if (priv->lockState)
|
||||||
virBufferAsprintf(buf, "<lockstate>%s</lockstate>\n", priv->lockState);
|
virBufferAsprintf(buf, "<lockstate>%s</lockstate>\n", priv->lockState);
|
||||||
|
|
||||||
job = priv->job.active;
|
qemuDomainObjPrivateXMLFormatJob(buf, vm, priv);
|
||||||
if (!qemuDomainTrackJob(job))
|
|
||||||
priv->job.active = QEMU_JOB_NONE;
|
|
||||||
|
|
||||||
if (priv->job.active || priv->job.asyncJob) {
|
|
||||||
virBufferAsprintf(buf, "<job type='%s' async='%s'",
|
|
||||||
qemuDomainJobTypeToString(priv->job.active),
|
|
||||||
qemuDomainAsyncJobTypeToString(priv->job.asyncJob));
|
|
||||||
if (priv->job.phase) {
|
|
||||||
virBufferAsprintf(buf, " phase='%s'",
|
|
||||||
qemuDomainAsyncJobPhaseToString(
|
|
||||||
priv->job.asyncJob, priv->job.phase));
|
|
||||||
}
|
|
||||||
if (priv->job.asyncJob != QEMU_ASYNC_JOB_MIGRATION_OUT) {
|
|
||||||
virBufferAddLit(buf, "/>\n");
|
|
||||||
} else {
|
|
||||||
size_t i;
|
|
||||||
virDomainDiskDefPtr disk;
|
|
||||||
qemuDomainDiskPrivatePtr diskPriv;
|
|
||||||
|
|
||||||
virBufferAddLit(buf, ">\n");
|
|
||||||
virBufferAdjustIndent(buf, 2);
|
|
||||||
|
|
||||||
for (i = 0; i < vm->def->ndisks; i++) {
|
|
||||||
disk = vm->def->disks[i];
|
|
||||||
diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
|
|
||||||
virBufferAsprintf(buf, "<disk dev='%s' migrating='%s'/>\n",
|
|
||||||
disk->dst,
|
|
||||||
diskPriv->migrating ? "yes" : "no");
|
|
||||||
}
|
|
||||||
|
|
||||||
virBufferAdjustIndent(buf, -2);
|
|
||||||
virBufferAddLit(buf, "</job>\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
priv->job.active = job;
|
|
||||||
|
|
||||||
if (priv->fakeReboot)
|
if (priv->fakeReboot)
|
||||||
virBufferAddLit(buf, "<fakereboot/>\n");
|
virBufferAddLit(buf, "<fakereboot/>\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user