qemu: use qemuDomainSaveStatus() and remove qemuDomainObjSaveStatus()

It does not make sense to have both of these, since one of them
is only a wrapper for the other one. I decided to preserve the
more general one, which requires only virDomainObj and rewrote it
a bit, so that it pulls the qemu driver from privateData.

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
Kristina Hanicova 2022-03-18 11:17:28 +01:00 committed by Jiri Denemark
parent 4a46539d0a
commit 45dcb1a881
17 changed files with 384 additions and 409 deletions

View File

@ -294,7 +294,7 @@ Design patterns
goto error;
}
...start qemu job...
qemuDomainObjExitMonitor(driver, obj);
qemuDomainObjExitMonitor(obj);
while (!finished) {
if (qemuDomainObjEnterMonitorAsync(driver, obj,
@ -303,7 +303,7 @@ Design patterns
goto error;
}
...monitor job progress...
qemuDomainObjExitMonitor(driver, obj);
qemuDomainObjExitMonitor(obj);
virObjectUnlock(obj);
sleep(aWhile);

View File

@ -132,7 +132,7 @@ qemuBackupDiskDataCleanupOne(virDomainObj *vm,
if (dd->added) {
qemuDomainObjEnterMonitor(priv->driver, vm);
qemuBlockStorageSourceAttachRollback(priv->mon, dd->crdata->srcdata[0]);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (dd->created) {
@ -474,7 +474,7 @@ qemuBackupDiskPrepareOneStorage(virDomainObj *vm,
rc = qemuBlockStorageSourceAttachApply(priv->mon, dd->crdata->srcdata[0]);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
}
@ -623,7 +623,7 @@ qemuBackupJobTerminate(virDomainObj *vm,
g_clear_pointer(&priv->backup, virDomainBackupDefFree);
if (priv->job.asyncJob == QEMU_ASYNC_JOB_BACKUP)
qemuDomainObjEndAsyncJob(priv->driver, vm);
qemuDomainObjEndAsyncJob(vm);
}
@ -681,7 +681,7 @@ qemuBackupJobCancelBlockjobs(virDomainObj *vm,
rc = qemuMonitorBlockJobCancel(priv->mon, job->name, true);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc == 0) {
backupdisk->state = VIR_DOMAIN_BACKUP_DISK_STATE_CANCELLING;
@ -893,7 +893,7 @@ qemuBackupBegin(virDomainObj *vm,
if (rc == 0)
rc = qemuMonitorTransaction(priv->mon, &actions);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto endjob;
@ -915,7 +915,7 @@ qemuBackupBegin(virDomainObj *vm,
/* note that if the export fails we've already created the checkpoint
* and we will not delete it */
rc = qemuBackupBeginPullExportDisks(vm, dd, ndd);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0) {
qemuBackupJobCancelBlockjobs(vm, priv->backup, false, QEMU_ASYNC_JOB_BACKUP);
@ -939,7 +939,7 @@ qemuBackupBegin(virDomainObj *vm,
ignore_value(qemuMonitorDelObject(priv->mon, tlsAlias, false));
if (tlsSecretAlias)
ignore_value(qemuMonitorDelObject(priv->mon, tlsSecretAlias, false));
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (ret < 0 && !job_started && priv->backup)
@ -948,7 +948,7 @@ qemuBackupBegin(virDomainObj *vm,
if (ret == 0)
qemuDomainObjReleaseAsyncJob(vm);
else
qemuDomainObjEndAsyncJob(priv->driver, vm);
qemuDomainObjEndAsyncJob(vm);
return ret;
}
@ -1007,7 +1007,7 @@ qemuBackupNotifyBlockjobEnd(virDomainObj *vm,
ignore_value(qemuMonitorDelObject(priv->mon, backup->tlsAlias, false));
if (backup->tlsSecretAlias)
ignore_value(qemuMonitorDelObject(priv->mon, backup->tlsSecretAlias, false));
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
/* update the final statistics with the current job's data */
backup->pull_tmp_used += cur;
@ -1165,7 +1165,7 @@ qemuBackupGetJobInfoStats(virQEMUDriver *driver,
rc = qemuMonitorGetJobInfo(priv->mon, &blockjobs, &nblockjobs);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;

View File

@ -326,7 +326,7 @@ qemuBlockNodeNamesDetect(virQEMUDriver *driver,
data = qemuMonitorQueryNamedBlockNodes(qemuDomainGetMonitor(vm));
blockstats = qemuMonitorQueryBlockstats(qemuDomainGetMonitor(vm));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (!data || !blockstats)
return -1;
@ -2133,7 +2133,7 @@ qemuBlockStorageSourceDetachOneBlockdev(virQEMUDriver *driver,
if (ret == 0)
ret = qemuMonitorBlockdevDel(qemuDomainGetMonitor(vm), src->nodestorage);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -2712,7 +2712,7 @@ qemuBlockStorageSourceCreateGeneric(virDomainObj *vm,
rc = qemuMonitorBlockdevCreate(priv->mon, job->name, &props);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -2859,7 +2859,7 @@ qemuBlockStorageSourceCreate(virDomainObj *vm,
rc = qemuBlockStorageSourceAttachApplyStorageDeps(priv->mon, data);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -2874,7 +2874,7 @@ qemuBlockStorageSourceCreate(virDomainObj *vm,
if (rc == 0)
rc = qemuBlockStorageSourceAttachApplyFormatDeps(priv->mon, data);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -2893,7 +2893,7 @@ qemuBlockStorageSourceCreate(virDomainObj *vm,
rc = qemuBlockStorageSourceAttachApplyFormat(priv->mon, data);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -2905,7 +2905,7 @@ qemuBlockStorageSourceCreate(virDomainObj *vm,
qemuDomainObjEnterMonitorAsync(priv->driver, vm, asyncJob) == 0) {
qemuBlockStorageSourceAttachRollback(priv->mon, data);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
}
return ret;
@ -3033,7 +3033,7 @@ qemuBlockGetNamedNodeData(virDomainObj *vm,
blockNamedNodeData = qemuMonitorBlockGetNamedNodeData(priv->mon, supports_flat);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (!blockNamedNodeData)
return NULL;
@ -3391,7 +3391,7 @@ qemuBlockReopenFormat(virDomainObj *vm,
rc = qemuBlockReopenFormatMon(priv->mon, src);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;

View File

@ -504,7 +504,7 @@ qemuBlockJobRefreshJobs(virQEMUDriver *driver,
rc = qemuMonitorGetJobInfo(priv->mon, &jobinfo, &njobinfo);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -528,7 +528,7 @@ qemuBlockJobRefreshJobs(virQEMUDriver *driver,
if (rc == -1 && jobinfo[i]->status == QEMU_MONITOR_JOB_STATUS_CONCLUDED)
VIR_WARN("can't cancel job '%s' with invalid data", job->name);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
qemuBlockJobUnregister(job, vm);
@ -852,7 +852,7 @@ qemuBlockJobEventProcessConcludedRemoveChain(virQEMUDriver *driver,
qemuBlockStorageSourceChainDetach(qemuDomainGetMonitor(vm), data);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
qemuDomainStorageSourceChainAccessRevoke(driver, vm, chain);
}
@ -967,7 +967,7 @@ qemuBlockJobProcessEventCompletedPullBitmaps(virDomainObj *vm,
qemuMonitorTransaction(priv->mon, &actions);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
return 0;
}
@ -1140,7 +1140,7 @@ qemuBlockJobProcessEventCompletedCommitBitmaps(virDomainObj *vm,
qemuMonitorTransaction(priv->mon, &actions);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (!active) {
if (qemuBlockReopenReadOnly(vm, job->data.commit.base, asyncJob) < 0)
@ -1357,7 +1357,7 @@ qemuBlockJobProcessEventCompletedCopyBitmaps(virDomainObj *vm,
qemuMonitorTransaction(priv->mon, &actions);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
return 0;
}
@ -1455,7 +1455,7 @@ qemuBlockJobProcessEventFailedActiveCommit(virQEMUDriver *driver,
disk->mirror->nodeformat,
"libvirt-tmp-activewrite");
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
/* Ideally, we would make the backing chain read only again (yes, SELinux
* can do that using different labels). But that is not implemented yet and
@ -1501,7 +1501,7 @@ qemuBlockJobProcessEventConcludedCreate(virQEMUDriver *driver,
qemuBlockStorageSourceAttachRollback(qemuDomainGetMonitor(vm), backend);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
qemuDomainStorageSourceAccessRevoke(driver, vm, job->data.create.src);
}
@ -1536,7 +1536,7 @@ qemuBlockJobProcessEventConcludedBackup(virQEMUDriver *driver,
job->disk->src->nodeformat,
job->data.backup.bitmap);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (job->data.backup.store)
qemuDomainStorageSourceAccessRevoke(driver, vm, job->data.backup.store);
@ -1649,7 +1649,7 @@ qemuBlockJobEventProcessConcluded(qemuBlockJobData *job,
/* dismiss job in qemu */
ignore_value(qemuMonitorJobDismiss(qemuDomainGetMonitor(vm), job->name));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if ((job->newstate == QEMU_BLOCKJOB_STATE_COMPLETED ||
job->newstate == QEMU_BLOCKJOB_STATE_FAILED) &&

View File

@ -237,7 +237,7 @@ qemuCheckpointDiscardBitmaps(virDomainObj *vm,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorTransaction(priv->mon, &actions);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
relabel:
for (next = relabelimages; next; next = next->next) {
@ -524,7 +524,7 @@ qemuCheckpointCreate(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorTransaction(qemuDomainGetMonitor(vm), &actions);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0) {
qemuCheckpointRollbackMetadata(vm, chk);
return NULL;
@ -629,7 +629,7 @@ qemuCheckpointCreateXML(virDomainPtr domain,
checkpoint = virGetDomainCheckpoint(domain, chk->def->name);
endjob:
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
return checkpoint;
}
@ -736,7 +736,7 @@ qemuCheckpointGetXMLDescUpdateSize(virDomainObj *vm,
if (rc == 0)
rc = qemuMonitorTransaction(priv->mon, &mergeactions);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto endjob;
@ -748,7 +748,7 @@ qemuCheckpointGetXMLDescUpdateSize(virDomainObj *vm,
rc = qemuMonitorTransaction(priv->mon, &cleanupactions);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto endjob;
@ -768,7 +768,7 @@ qemuCheckpointGetXMLDescUpdateSize(virDomainObj *vm,
ret = 0;
endjob:
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
return ret;
}
@ -921,6 +921,6 @@ qemuCheckpointDelete(virDomainObj *vm,
}
endjob:
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
return ret;
}

View File

@ -5822,9 +5822,10 @@ virDomainDefParserConfig virQEMUDriverDomainDefParserConfig = {
void
qemuDomainObjSaveStatus(virQEMUDriver *driver,
virDomainObj *obj)
qemuDomainSaveStatus(virDomainObj *obj)
{
qemuDomainObjPrivate *priv = obj->privateData;
virQEMUDriver *driver = priv->driver;
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
if (virDomainObjIsActive(obj)) {
@ -5834,13 +5835,6 @@ qemuDomainObjSaveStatus(virQEMUDriver *driver,
}
void
qemuDomainSaveStatus(virDomainObj *obj)
{
qemuDomainObjSaveStatus(QEMU_DOMAIN_PRIVATE(obj)->driver, obj);
}
void
qemuDomainSaveConfig(virDomainObj *obj)
{
@ -5887,7 +5881,7 @@ qemuDomainObjEnterMonitorInternal(virQEMUDriver *driver,
if (!virDomainObjIsActive(obj)) {
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("domain is no longer running"));
qemuDomainObjEndJob(driver, obj);
qemuDomainObjEndJob(obj);
return -1;
}
} else if (priv->job.asyncOwner == virThreadSelfID()) {
@ -5916,8 +5910,7 @@ qemuDomainObjEnterMonitorInternal(virQEMUDriver *driver,
*
*/
void
qemuDomainObjExitMonitor(virQEMUDriver *driver,
virDomainObj *obj)
qemuDomainObjExitMonitor(virDomainObj *obj)
{
qemuDomainObjPrivate *priv = obj->privateData;
bool hasRefs;
@ -5938,7 +5931,7 @@ qemuDomainObjExitMonitor(virQEMUDriver *driver,
priv->mon = NULL;
if (priv->job.active == QEMU_JOB_ASYNC_NESTED)
qemuDomainObjEndJob(driver, obj);
qemuDomainObjEndJob(obj);
}
void qemuDomainObjEnterMonitor(virQEMUDriver *driver,
@ -7004,7 +6997,7 @@ qemuDomainSnapshotDiscard(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
/* we continue on even in the face of error */
qemuMonitorDeleteSnapshot(priv->mon, snap->def->name);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
}
@ -7169,7 +7162,7 @@ qemuDomainRemoveInactiveJob(virQEMUDriver *driver,
qemuDomainRemoveInactive(driver, vm);
if (haveJob)
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
}
@ -7190,7 +7183,7 @@ qemuDomainRemoveInactiveJobLocked(virQEMUDriver *driver,
qemuDomainRemoveInactiveLocked(driver, vm);
if (haveJob)
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
}
@ -8213,7 +8206,7 @@ qemuDomainUpdateDeviceList(virQEMUDriver *driver,
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
rc = qemuMonitorGetDeviceAliases(priv->mon, &aliases);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -8241,7 +8234,7 @@ qemuDomainUpdateMemoryDeviceInfo(virQEMUDriver *driver,
rc = qemuMonitorGetMemoryDeviceInfo(priv->mon, &meminfo);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -9515,7 +9508,7 @@ qemuDomainRefreshVcpuInfo(virQEMUDriver *driver,
rc = qemuMonitorGetCPUInfo(qemuDomainGetMonitor(vm), &info, maxvcpus,
hotplug, fast);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -9669,7 +9662,7 @@ qemuDomainRefreshVcpuHalted(virQEMUDriver *driver,
QEMU_CAPS_QUERY_CPUS_FAST);
haltedmap = qemuMonitorGetCpuHalted(qemuDomainGetMonitor(vm), maxvcpus,
fast);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (!haltedmap)
return -1;
@ -10100,7 +10093,7 @@ qemuDomainCheckMonitor(virQEMUDriver *driver,
ret = qemuMonitorCheck(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}

View File

@ -61,10 +61,6 @@ typedef void (*qemuDomainCleanupCallback)(virQEMUDriver *driver,
#define QEMU_DOMAIN_MASTER_KEY_LEN 32 /* 32 bytes for 256 bit random key */
void
qemuDomainObjSaveStatus(virQEMUDriver *driver,
virDomainObj *obj);
void qemuDomainSaveStatus(virDomainObj *obj);
void qemuDomainSaveConfig(virDomainObj *obj);
@ -500,8 +496,7 @@ qemuMonitor *qemuDomainGetMonitor(virDomainObj *vm)
void qemuDomainObjEnterMonitor(virQEMUDriver *driver,
virDomainObj *obj)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
void qemuDomainObjExitMonitor(virQEMUDriver *driver,
virDomainObj *obj)
void qemuDomainObjExitMonitor(virDomainObj *obj)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
int qemuDomainObjEnterMonitorAsync(virQEMUDriver *driver,
virDomainObj *obj,

View File

@ -703,8 +703,7 @@ qemuDomainJobDataToParams(virDomainJobData *jobData,
void
qemuDomainObjSetJobPhase(virQEMUDriver *driver,
virDomainObj *obj,
qemuDomainObjSetJobPhase(virDomainObj *obj,
int phase)
{
qemuDomainObjPrivate *priv = obj->privateData;
@ -727,7 +726,7 @@ qemuDomainObjSetJobPhase(virQEMUDriver *driver,
priv->job.phase = phase;
priv->job.asyncOwner = me;
qemuDomainObjSaveStatus(driver, obj);
qemuDomainSaveStatus(obj);
}
void
@ -743,14 +742,14 @@ qemuDomainObjSetAsyncJobMask(virDomainObj *obj,
}
void
qemuDomainObjDiscardAsyncJob(virQEMUDriver *driver, virDomainObj *obj)
qemuDomainObjDiscardAsyncJob(virDomainObj *obj)
{
qemuDomainObjPrivate *priv = obj->privateData;
if (priv->job.active == QEMU_JOB_ASYNC_NESTED)
qemuDomainObjResetJob(&priv->job);
qemuDomainObjResetAsyncJob(&priv->job);
qemuDomainObjSaveStatus(driver, obj);
qemuDomainSaveStatus(obj);
}
void
@ -926,7 +925,7 @@ qemuDomainObjBeginJobInternal(virQEMUDriver *driver,
}
if (qemuDomainTrackJob(job))
qemuDomainObjSaveStatus(driver, obj);
qemuDomainSaveStatus(obj);
return 0;
@ -1134,7 +1133,7 @@ qemuDomainObjBeginJobNowait(virQEMUDriver *driver,
* earlier qemuDomainBeginJob() call
*/
void
qemuDomainObjEndJob(virQEMUDriver *driver, virDomainObj *obj)
qemuDomainObjEndJob(virDomainObj *obj)
{
qemuDomainObjPrivate *priv = obj->privateData;
qemuDomainJob job = priv->job.active;
@ -1148,7 +1147,7 @@ qemuDomainObjEndJob(virQEMUDriver *driver, virDomainObj *obj)
qemuDomainObjResetJob(&priv->job);
if (qemuDomainTrackJob(job))
qemuDomainObjSaveStatus(driver, obj);
qemuDomainSaveStatus(obj);
/* We indeed need to wake up ALL threads waiting because
* grabbing a job requires checking more variables. */
virCondBroadcast(&priv->job.cond);
@ -1174,7 +1173,7 @@ qemuDomainObjEndAgentJob(virDomainObj *obj)
}
void
qemuDomainObjEndAsyncJob(virQEMUDriver *driver, virDomainObj *obj)
qemuDomainObjEndAsyncJob(virDomainObj *obj)
{
qemuDomainObjPrivate *priv = obj->privateData;
@ -1185,7 +1184,7 @@ qemuDomainObjEndAsyncJob(virQEMUDriver *driver, virDomainObj *obj)
obj, obj->def->name);
qemuDomainObjResetAsyncJob(&priv->job);
qemuDomainObjSaveStatus(driver, obj);
qemuDomainSaveStatus(obj);
virCondBroadcast(&priv->job.asyncCond);
}

View File

@ -208,21 +208,17 @@ int qemuDomainObjBeginJobNowait(virQEMUDriver *driver,
qemuDomainJob job)
G_GNUC_WARN_UNUSED_RESULT;
void qemuDomainObjEndJob(virQEMUDriver *driver,
virDomainObj *obj);
void qemuDomainObjEndJob(virDomainObj *obj);
void qemuDomainObjEndAgentJob(virDomainObj *obj);
void qemuDomainObjEndAsyncJob(virQEMUDriver *driver,
virDomainObj *obj);
void qemuDomainObjEndAsyncJob(virDomainObj *obj);
void qemuDomainObjAbortAsyncJob(virDomainObj *obj);
void qemuDomainObjSetJobPhase(virQEMUDriver *driver,
virDomainObj *obj,
void qemuDomainObjSetJobPhase(virDomainObj *obj,
int phase);
void qemuDomainObjSetAsyncJobMask(virDomainObj *obj,
unsigned long long allowedJobs);
int qemuDomainObjRestoreJob(virDomainObj *obj,
qemuDomainJobObj *job);
void qemuDomainObjDiscardAsyncJob(virQEMUDriver *driver,
virDomainObj *obj);
void qemuDomainObjDiscardAsyncJob(virDomainObj *obj);
void qemuDomainObjReleaseAsyncJob(virDomainObj *obj);
int qemuDomainJobDataUpdateTime(virDomainJobData *jobData)

File diff suppressed because it is too large Load Diff

View File

@ -110,7 +110,7 @@ qemuDomainDeleteDevice(virDomainObj *vm,
rc = qemuMonitorDelDevice(priv->mon, alias);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0) {
/* Deleting device failed. Let's check if DEVICE_DELETED
@ -313,7 +313,7 @@ qemuDomainChangeMediaLegacy(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorEjectMedia(priv->mon, driveAlias, force);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
/* If the tray is present wait for it to open. */
if (!force && diskPriv->tray) {
@ -324,7 +324,7 @@ qemuDomainChangeMediaLegacy(virQEMUDriver *driver,
/* re-issue ejection command to pop out the media */
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorEjectMedia(priv->mon, driveAlias, false);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -346,7 +346,7 @@ qemuDomainChangeMediaLegacy(virQEMUDriver *driver,
driveAlias,
sourcestr,
format);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (rc < 0)
@ -394,7 +394,7 @@ qemuHotplugAttachDBusVMState(virQEMUDriver *driver,
if (ret == 0)
priv->dbusVMState = true;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -430,7 +430,7 @@ qemuHotplugRemoveDBusVMState(virQEMUDriver *driver,
if (ret == 0)
priv->dbusVMState = false;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -477,7 +477,7 @@ qemuHotplugAttachManagedPR(virQEMUDriver *driver,
rc = qemuMonitorAddObject(priv->mon, &props, NULL);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -517,7 +517,7 @@ qemuHotplugRemoveManagedPR(virQEMUDriver *driver,
goto cleanup;
ignore_value(qemuMonitorDelObject(priv->mon, qemuDomainGetManagedPRAlias(),
false));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
qemuProcessKillManagedPRDaemon(vm);
@ -574,7 +574,7 @@ qemuDomainChangeMediaBlockdev(virQEMUDriver *driver,
if (diskPriv->tray && disk->tray_status != VIR_DOMAIN_DISK_TRAY_OPEN) {
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorBlockdevTrayOpen(priv->mon, diskPriv->qomName, force);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -613,7 +613,7 @@ qemuDomainChangeMediaBlockdev(virQEMUDriver *driver,
if (rc < 0 && newbackend)
qemuBlockStorageSourceChainDetach(priv->mon, newbackend);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -782,7 +782,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver,
rc = qemuBlockStorageSourceChainAttach(priv->mon, data);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto rollback;
@ -832,7 +832,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver,
VIR_WARN("failed to set blkdeviotune for '%s' of '%s'", disk->dst, vm->def->name);
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto rollback;
@ -848,7 +848,7 @@ qemuDomainAttachDiskGeneric(virQEMUDriver *driver,
qemuBlockStorageSourceChainDetach(priv->mon, data);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return -1;
}
@ -912,7 +912,7 @@ int qemuDomainAttachControllerDevice(virQEMUDriver *driver,
ignore_value(qemuDomainDetachExtensionDevice(priv->mon, &controller->info));
exit_monitor:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret == 0)
virDomainControllerInsertPreAlloced(vm->def, controller);
@ -1461,7 +1461,7 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
if (qemuMonitorAddFileHandleToSet(priv->mon, vdpafd, -1,
net->data.vdpa.devicepath,
&fdinfo) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto cleanup;
}
vdpafdName = g_strdup_printf("/dev/fdset/%d", fdinfo.fdset);
@ -1471,13 +1471,13 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
tapfdName, tapfdSize,
vhostfdName, vhostfdSize,
slirpfdName, vdpafdName))) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto cleanup;
}
if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
if (qemuHotplugChardevAttach(priv->mon, charDevAlias, net->data.vhostuser) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditNet(vm, NULL, net, "attach", false);
goto cleanup;
}
@ -1488,13 +1488,13 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
tapfd, tapfdName, tapfdSize,
vhostfd, vhostfdName, vhostfdSize,
slirpfd, slirpfdName) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditNet(vm, NULL, net, "attach", false);
goto try_remove;
}
netdevPlugged = true;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
for (i = 0; i < tapfdSize; i++)
VIR_FORCE_CLOSE(tapfd[i]);
@ -1507,18 +1507,18 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
if (qemuDomainAttachExtensionDevice(priv->mon, &net->info) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditNet(vm, NULL, net, "attach", false);
goto try_remove;
}
if (qemuMonitorAddDeviceProps(priv->mon, &nicprops) < 0) {
ignore_value(qemuDomainDetachExtensionDevice(priv->mon, &net->info));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditNet(vm, NULL, net, "attach", false);
goto try_remove;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
/* set link state */
if (net->linkstate == VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN) {
@ -1529,12 +1529,12 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
if (qemuMonitorSetLink(priv->mon, net->info.alias, VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditNet(vm, NULL, net, "attach", false);
goto try_remove;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
/* link set to down */
}
@ -1628,7 +1628,7 @@ qemuDomainAttachNetDevice(virQEMUDriver *driver,
qemuMonitorRemoveNetdev(priv->mon, netdev_name) < 0)
VIR_WARN("Failed to remove network backend for netdev %s",
netdev_name);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&originalError);
goto cleanup;
}
@ -1739,7 +1739,7 @@ qemuDomainAttachHostPCIDevice(virQEMUDriver *driver,
ignore_value(qemuDomainDetachExtensionDevice(priv->mon, hostdev->info));
exit_monitor:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
done:
virDomainAuditHostdev(vm, hostdev, "attach", ret == 0);
@ -1795,7 +1795,7 @@ qemuDomainDelTLSObjects(virQEMUDriver *driver,
if (secAlias)
ignore_value(qemuMonitorDelObject(priv->mon, secAlias, false));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
cleanup:
virErrorRestore(&orig_err);
@ -1827,12 +1827,12 @@ qemuDomainAddTLSObjects(virQEMUDriver *driver,
qemuMonitorAddObject(priv->mon, tlsProps, NULL) < 0)
goto error;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return 0;
error:
virErrorPreserveLast(&orig_err);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&orig_err);
qemuDomainDelTLSObjects(driver, vm, asyncJob, secAlias, NULL);
@ -1948,7 +1948,7 @@ qemuDomainDelChardevTLSObjects(virQEMUDriver *driver,
if (secAlias)
ignore_value(qemuMonitorDelObject(priv->mon, secAlias, false));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return 0;
}
@ -1995,7 +1995,7 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriver *driver,
if (qemuMonitorAddDeviceProps(priv->mon, &devprops) < 0)
goto exit_monitor;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
def->redirdevs[def->nredirdevs++] = redirdev;
ret = 0;
@ -2011,7 +2011,7 @@ int qemuDomainAttachRedirdevDevice(virQEMUDriver *driver,
/* detach associated chardev on error */
if (chardevAdded)
ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&orig_err);
qemuDomainDelTLSObjects(driver, vm, QEMU_ASYNC_JOB_NONE,
secAlias, tlsAlias);
@ -2238,7 +2238,7 @@ qemuDomainAttachChrDevice(virQEMUDriver *driver,
qemuFDPassTransferMonitor(charpriv->logfd, priv->mon) < 0)
goto exit_monitor;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (guestfwd) {
@ -2277,7 +2277,7 @@ qemuDomainAttachChrDevice(virQEMUDriver *driver,
goto exit_monitor;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
qemuDomainChrInsertPreAlloced(vmdef, chr);
ret = 0;
@ -2305,7 +2305,7 @@ qemuDomainAttachChrDevice(virQEMUDriver *driver,
qemuMonitorDetachCharDev(priv->mon, charAlias);
qemuFDPassTransferMonitorRollback(charpriv->sourcefd, priv->mon);
qemuFDPassTransferMonitorRollback(charpriv->logfd, priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&orig_err);
qemuDomainDelTLSObjects(driver, vm, QEMU_ASYNC_JOB_NONE,
@ -2385,7 +2385,7 @@ qemuDomainAttachRNGDevice(virQEMUDriver *driver,
goto exit_monitor;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
VIR_APPEND_ELEMENT_INPLACE(vm->def->rngs, vm->def->nrngs, rng);
@ -2411,7 +2411,7 @@ qemuDomainAttachRNGDevice(virQEMUDriver *driver,
ignore_value(qemuMonitorDelObject(priv->mon, objAlias, false));
if (rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD && chardevAdded)
ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&orig_err);
qemuDomainDelTLSObjects(driver, vm, QEMU_ASYNC_JOB_NONE,
@ -2504,7 +2504,7 @@ qemuDomainAttachMemory(virQEMUDriver *driver,
if (qemuMonitorAddDeviceProps(priv->mon, &devprops) < 0)
goto exit_monitor;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
event = virDomainEventDeviceAddedNewFromObj(vm, objalias);
virObjectEventStateQueue(driver->domainEventState, event);
@ -2543,7 +2543,7 @@ qemuDomainAttachMemory(virQEMUDriver *driver,
virErrorPreserveLast(&orig_err);
if (objAdded)
ignore_value(qemuMonitorDelObject(priv->mon, objalias, false));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (objAdded && mem)
ignore_value(qemuProcessDestroyMemoryBackingPath(driver, vm, mem));
@ -2608,7 +2608,7 @@ qemuDomainAttachHostUSBDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
ret = qemuMonitorAddDeviceProps(priv->mon, &devprops);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditHostdev(vm, hostdev, "attach", ret == 0);
if (ret < 0)
goto cleanup;
@ -2701,7 +2701,7 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriver *driver,
if (qemuMonitorAddDeviceProps(priv->mon, &devprops) < 0)
goto exit_monitor;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditHostdev(vm, hostdev, "attach", true);
@ -2727,7 +2727,7 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriver *driver,
exit_monitor:
virErrorPreserveLast(&orig_err);
qemuBlockStorageSourceAttachRollback(priv->mon, data);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&orig_err);
virDomainAuditHostdev(vm, hostdev, "attach", false);
@ -2826,7 +2826,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriver *driver,
ignore_value(qemuMonitorCloseFileHandle(priv->mon, vhostfdName));
if (removeextension)
ignore_value(qemuDomainDetachExtensionDevice(priv->mon, hostdev->info));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
goto audit;
@ -2920,7 +2920,7 @@ qemuDomainAttachMediatedDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
ret = qemuMonitorAddDeviceProps(priv->mon, &devprops);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditHostdev(vm, hostdev, "attach", ret == 0);
if (ret < 0)
@ -3074,7 +3074,7 @@ qemuDomainAttachShmemDevice(virQEMUDriver *driver,
goto exit_monitor;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
/* Doing a copy here just so the pointer doesn't get nullified
* because we need it in the audit function */
@ -3101,7 +3101,7 @@ qemuDomainAttachShmemDevice(virQEMUDriver *driver,
ignore_value(qemuMonitorDelObject(priv->mon, memAlias, false));
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&orig_err);
@ -3200,7 +3200,7 @@ qemuDomainAttachWatchdog(virQEMUDriver *driver,
if (rv >= 0)
rv = qemuMonitorAddDeviceProps(priv->mon, &props);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rv < 0)
goto cleanup;
@ -3287,7 +3287,7 @@ qemuDomainAttachInputDevice(virQEMUDriver *driver,
goto exit_monitor;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
VIR_APPEND_ELEMENT_COPY_INPLACE(vm->def->inputs, vm->def->ninputs, input);
@ -3313,7 +3313,7 @@ qemuDomainAttachInputDevice(virQEMUDriver *driver,
return ret;
exit_monitor:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto audit;
}
@ -3370,7 +3370,7 @@ qemuDomainAttachVsockDevice(virQEMUDriver *driver,
if ((ret = qemuMonitorAddDeviceProps(priv->mon, &devprops)) < 0)
goto exit_monitor;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
vm->def->vsock = g_steal_pointer(&vsock);
@ -3391,7 +3391,7 @@ qemuDomainAttachVsockDevice(virQEMUDriver *driver,
ignore_value(qemuMonitorCloseFileHandle(priv->mon, fdname));
if (removeextension)
ignore_value(qemuDomainDetachExtensionDevice(priv->mon, &vsock->info));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto cleanup;
}
@ -3459,7 +3459,7 @@ qemuDomainAttachFSDevice(virQEMUDriver *driver,
goto exit_monitor;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
VIR_APPEND_ELEMENT_COPY(vm->def->fss, vm->def->nfss, fs);
@ -3483,7 +3483,7 @@ qemuDomainAttachFSDevice(virQEMUDriver *driver,
virErrorPreserveLast(&origErr);
if (chardevAdded)
ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virErrorRestore(&origErr);
goto audit;
}
@ -3652,7 +3652,7 @@ int qemuDomainChangeNetLinkState(virQEMUDriver *driver,
dev->linkstate = linkstate;
cleanup:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -4246,7 +4246,7 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriver *driver,
ret = qemuMonitorExpirePassword(priv->mon, type, expire);
end_job:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -4521,7 +4521,7 @@ qemuDomainRemoveDiskDevice(virQEMUDriver *driver,
if (diskBackend)
qemuBlockStorageSourceChainDetach(priv->mon, diskBackend);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditDisk(vm, disk->src, NULL, "detach", true);
@ -4593,7 +4593,7 @@ qemuDomainRemoveMemoryDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorDelObject(priv->mon, backendAlias, true);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditMemory(vm, oldmem, newmem, "update", rc == 0);
if (rc < 0)
@ -4692,7 +4692,7 @@ qemuDomainRemoveHostDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
qemuBlockStorageSourceAttachRollback(priv->mon, detachscsi);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (hostdev->parentnet) {
@ -4809,7 +4809,7 @@ qemuDomainRemoveNetDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
if (qemuMonitorRemoveNetdev(priv->mon, hostnet_name) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditNet(vm, net, NULL, "detach", false);
return -1;
}
@ -4826,7 +4826,7 @@ qemuDomainRemoveNetDevice(virQEMUDriver *driver,
qemuHotplugRemoveFDSet(priv->mon, net->info.alias, net->data.vdpa.devicepath);
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp)
qemuSlirpStop(QEMU_DOMAIN_NETWORK_PRIVATE(net)->slirp, vm, driver, net);
@ -4901,7 +4901,7 @@ qemuDomainRemoveChrDevice(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorDetachCharDev(priv->mon, charAlias);
qemuHotplugRemoveFDSet(priv->mon, chr->info.alias, NULL);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (rc == 0 &&
@ -4967,7 +4967,7 @@ qemuDomainRemoveRNGDevice(virQEMUDriver *driver,
qemuMonitorDetachCharDev(priv->mon, charAlias) < 0)
rc = -1;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rng->backend == VIR_DOMAIN_RNG_BACKEND_EGD &&
rc == 0 &&
@ -5021,7 +5021,7 @@ qemuDomainRemoveShmemDevice(virQEMUDriver *driver,
else
rc = qemuMonitorDelObject(priv->mon, memAlias, true);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditShmem(vm, shmem, "detach", rc == 0);
@ -5113,7 +5113,7 @@ qemuDomainRemoveRedirdevDevice(virQEMUDriver *driver,
*/
ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (qemuDomainDelChardevTLSObjects(driver, vm, dev->source, charAlias) < 0)
return -1;
@ -5150,7 +5150,7 @@ qemuDomainRemoveFSDevice(virQEMUDriver *driver,
if (qemuMonitorDetachCharDev(priv->mon, charAlias) < 0)
rc = -1;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
virDomainAuditFS(vm, fs, NULL, "detach", rc == 0);
@ -5891,7 +5891,7 @@ qemuDomainDetachDeviceChr(virQEMUDriver *driver,
int rc;
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorRemoveNetdev(priv->mon, tmpChr->info.alias);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -6431,7 +6431,7 @@ qemuDomainHotplugAddVcpu(virQEMUDriver *driver,
rc = qemuMonitorAddDeviceProps(qemuDomainGetMonitor(vm), &vcpuprops);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virDomainAuditVcpu(vm, oldvcpus, oldvcpus + nvcpus, "update", rc == 0);
@ -6913,7 +6913,7 @@ qemuDomainChangeMemoryRequestedSize(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorChangeMemoryRequestedSize(priv->mon, alias, requestedsize);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return rc;
}

View File

@ -89,16 +89,14 @@ qemuMigrationJobStart(virQEMUDriver *driver,
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT;
static void
qemuMigrationJobSetPhase(virQEMUDriver *driver,
virDomainObj *vm,
qemuMigrationJobSetPhase(virDomainObj *vm,
qemuMigrationJobPhase phase)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
ATTRIBUTE_NONNULL(1);
static void
qemuMigrationJobStartPhase(virQEMUDriver *driver,
virDomainObj *vm,
qemuMigrationJobStartPhase(virDomainObj *vm,
qemuMigrationJobPhase phase)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
ATTRIBUTE_NONNULL(1);
static void
qemuMigrationJobContinue(virDomainObj *obj)
@ -110,9 +108,8 @@ qemuMigrationJobIsActive(virDomainObj *vm,
ATTRIBUTE_NONNULL(1);
static void
qemuMigrationJobFinish(virQEMUDriver *driver,
virDomainObj *obj)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
qemuMigrationJobFinish(virDomainObj *obj)
ATTRIBUTE_NONNULL(1);
static void
qemuMigrationSrcStoreDomainState(virDomainObj *vm)
@ -515,7 +512,7 @@ qemuMigrationDstStartNBDServer(virQEMUDriver *driver,
if (qemuBlockExportAddNBD(vm, diskAlias, disk->src, diskAlias, true, NULL) < 0)
goto exit_monitor;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (server.transport == VIR_STORAGE_NET_HOST_TRANS_TCP)
@ -529,7 +526,7 @@ qemuMigrationDstStartNBDServer(virQEMUDriver *driver,
return ret;
exit_monitor:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto cleanup;
}
@ -550,7 +547,7 @@ qemuMigrationDstStopNBDServer(virQEMUDriver *driver,
if (qemuMonitorNBDServerStop(priv->mon) < 0)
VIR_WARN("Unable to stop NBD server");
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
virPortAllocatorRelease(priv->nbdPort);
priv->nbdPort = 0;
@ -750,7 +747,7 @@ qemuMigrationSrcNBDCopyCancelOne(virQEMUDriver *driver,
* consistency on the destination so that we can force cancel the mirror */
rv = qemuMonitorBlockJobCancel(priv->mon, job->name, abortMigration);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rv < 0)
return -1;
@ -871,7 +868,7 @@ qemuMigrationSrcCancelRemoveTempBitmaps(virDomainObj *vm,
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
return -1;
qemuMonitorBitmapRemove(priv->mon, t->nodename, t->bitmapname);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
return 0;
@ -969,7 +966,7 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriver *driver,
if (mon_ret != 0)
qemuBlockStorageSourceAttachRollback(qemuDomainGetMonitor(vm), data);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (mon_ret < 0)
return -1;
@ -1011,7 +1008,7 @@ qemuMigrationSrcNBDStorageCopyDriveMirror(virQEMUDriver *driver,
diskAlias, nbd_dest, "raw",
mirror_speed, 0, 0, mirror_shallow, true);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (mon_ret < 0)
return -1;
@ -1690,7 +1687,7 @@ qemuMigrationAnyFetchStats(virQEMUDriver *driver,
rv = qemuMonitorGetMigrationStats(priv->mon, &stats, error);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rv < 0)
return -1;
@ -2055,7 +2052,7 @@ qemuMigrationSrcGraphicsRelocate(virQEMUDriver *driver,
ret = qemuMonitorGraphicsRelocate(priv->mon, type, listenAddress,
port, tlsPort, tlsSubject);
jobPriv->spiceMigration = !ret;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
cleanup:
@ -2159,7 +2156,7 @@ qemuMigrationDstRun(virQEMUDriver *driver,
rv = qemuMonitorMigrateIncoming(priv->mon, uri);
exit_monitor:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rv < 0)
return -1;
@ -2206,7 +2203,7 @@ qemuMigrationSrcCleanup(virDomainObj *vm,
switch ((qemuMigrationJobPhase) priv->job.phase) {
case QEMU_MIGRATION_PHASE_BEGIN3:
/* just forget we were about to migrate */
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
break;
case QEMU_MIGRATION_PHASE_PERFORM3_DONE:
@ -2216,7 +2213,7 @@ qemuMigrationSrcCleanup(virDomainObj *vm,
qemuMigrationParamsReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
jobPriv->migParams, priv->job.apiFlags);
/* clear the job and let higher levels decide what to do */
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
break;
case QEMU_MIGRATION_PHASE_PERFORM3:
@ -2352,7 +2349,7 @@ qemuMigrationSrcBeginPhase(virQEMUDriver *driver,
* change protection.
*/
if (priv->job.asyncJob == QEMU_ASYNC_JOB_MIGRATION_OUT)
qemuMigrationJobSetPhase(driver, vm, QEMU_MIGRATION_PHASE_BEGIN3);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_BEGIN3);
if (!qemuMigrationSrcIsAllowed(driver, vm, true, flags))
return NULL;
@ -2567,9 +2564,9 @@ qemuMigrationSrcBegin(virConnectPtr conn,
endjob:
if (flags & VIR_MIGRATE_CHANGE_PROTECTION)
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
else
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
goto cleanup;
}
@ -2594,7 +2591,7 @@ qemuMigrationDstPrepareCleanup(virQEMUDriver *driver,
if (!qemuMigrationJobIsActive(vm, QEMU_ASYNC_JOB_MIGRATION_IN))
return;
qemuDomainObjDiscardAsyncJob(driver, vm);
qemuDomainObjDiscardAsyncJob(vm);
}
static qemuProcessIncomingDef *
@ -2931,7 +2928,7 @@ qemuMigrationDstPrepareAny(virQEMUDriver *driver,
if (qemuMigrationJobStart(driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN,
flags) < 0)
goto cleanup;
qemuMigrationJobSetPhase(driver, vm, QEMU_MIGRATION_PHASE_PREPARE);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PREPARE);
/* Domain starts inactive, even if the domain XML had an id field. */
vm->def->id = -1;
@ -3125,7 +3122,7 @@ qemuMigrationDstPrepareAny(virQEMUDriver *driver,
QEMU_ASYNC_JOB_MIGRATION_IN, stopFlags);
}
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
goto cleanup;
}
@ -3401,7 +3398,7 @@ qemuMigrationSrcConfirmPhase(virQEMUDriver *driver,
virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
qemuMigrationJobSetPhase(driver, vm,
qemuMigrationJobSetPhase(vm,
retcode == 0
? QEMU_MIGRATION_PHASE_CONFIRM3
: QEMU_MIGRATION_PHASE_CONFIRM3_CANCELLED);
@ -3507,7 +3504,7 @@ qemuMigrationSrcConfirm(virQEMUDriver *driver,
else
phase = QEMU_MIGRATION_PHASE_CONFIRM3;
qemuMigrationJobStartPhase(driver, vm, phase);
qemuMigrationJobStartPhase(vm, phase);
virCloseCallbacksUnset(driver->closeCallbacks, vm,
qemuMigrationSrcCleanup);
@ -3515,7 +3512,7 @@ qemuMigrationSrcConfirm(virQEMUDriver *driver,
cookiein, cookieinlen,
flags, cancelled);
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
if (!virDomainObjIsActive(vm)) {
if (!cancelled && ret == 0 && flags & VIR_MIGRATE_UNDEFINE_SOURCE) {
virDomainDeleteConfig(cfg->configDir, cfg->autostartDir, vm);
@ -3829,7 +3826,7 @@ qemuMigrationSrcContinue(virQEMUDriver *driver,
ret = qemuMonitorMigrateContinue(priv->mon, status);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -3852,7 +3849,7 @@ qemuMigrationSetDBusVMState(virQEMUDriver *driver,
rv = qemuMonitorSetDBusVMStateIdList(priv->mon, priv->dbusVMStateIds);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return rv;
} else {
@ -3952,7 +3949,7 @@ qemuMigrationSrcRunPrepareBlockDirtyBitmapsMerge(virDomainObj *vm,
rc = qemuMonitorTransaction(priv->mon, &actions);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -4261,7 +4258,7 @@ qemuMigrationSrcRun(virQEMUDriver *driver,
break;
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto error;
@ -4383,7 +4380,7 @@ qemuMigrationSrcRun(virQEMUDriver *driver,
qemuDomainObjEnterMonitorAsync(driver, vm,
QEMU_ASYNC_JOB_MIGRATION_OUT) == 0) {
qemuMonitorMigrateCancel(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
/* cancel any outstanding NBD jobs */
@ -4404,7 +4401,7 @@ qemuMigrationSrcRun(virQEMUDriver *driver,
goto cleanup;
exit_monitor:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto error;
}
@ -4657,7 +4654,7 @@ qemuMigrationSrcPerformPeer2Peer2(virQEMUDriver *driver,
* until the migration is complete.
*/
VIR_DEBUG("Perform %p", sconn);
qemuMigrationJobSetPhase(driver, vm, QEMU_MIGRATION_PHASE_PERFORM2);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM2);
if (flags & VIR_MIGRATE_TUNNELLED)
ret = qemuMigrationSrcPerformTunnel(driver, vm, st, NULL,
NULL, 0, NULL, NULL,
@ -4901,7 +4898,7 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriver *driver,
* confirm migration completion.
*/
VIR_DEBUG("Perform3 %p uri=%s", sconn, NULLSTR(uri));
qemuMigrationJobSetPhase(driver, vm, QEMU_MIGRATION_PHASE_PERFORM3);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3);
VIR_FREE(cookiein);
cookiein = g_steal_pointer(&cookieout);
cookieinlen = cookieoutlen;
@ -4926,8 +4923,7 @@ qemuMigrationSrcPerformPeer2Peer3(virQEMUDriver *driver,
if (ret < 0) {
virErrorPreserveLast(&orig_err);
} else {
qemuMigrationJobSetPhase(driver, vm,
QEMU_MIGRATION_PHASE_PERFORM3_DONE);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE);
}
/* If Perform returns < 0, then we need to cancel the VM
@ -5303,7 +5299,7 @@ qemuMigrationSrcPerformJob(virQEMUDriver *driver,
migParams, flags, dname, resource,
&v3proto);
} else {
qemuMigrationJobSetPhase(driver, vm, QEMU_MIGRATION_PHASE_PERFORM2);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM2);
ret = qemuMigrationSrcPerformNative(driver, vm, persist_xml, uri, cookiein, cookieinlen,
cookieout, cookieoutlen,
flags, resource, NULL, NULL, 0, NULL,
@ -5339,7 +5335,7 @@ qemuMigrationSrcPerformJob(virQEMUDriver *driver,
qemuMigrationSrcRestoreDomainState(driver, vm);
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
if (!virDomainObjIsActive(vm) && ret == 0) {
if (flags & VIR_MIGRATE_UNDEFINE_SOURCE) {
virDomainDeleteConfig(cfg->configDir, cfg->autostartDir, vm);
@ -5389,7 +5385,7 @@ qemuMigrationSrcPerformPhase(virQEMUDriver *driver,
return ret;
}
qemuMigrationJobStartPhase(driver, vm, QEMU_MIGRATION_PHASE_PERFORM3);
qemuMigrationJobStartPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3);
virCloseCallbacksUnset(driver->closeCallbacks, vm,
qemuMigrationSrcCleanup);
@ -5403,7 +5399,7 @@ qemuMigrationSrcPerformPhase(virQEMUDriver *driver,
goto endjob;
}
qemuMigrationJobSetPhase(driver, vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE);
qemuMigrationJobSetPhase(vm, QEMU_MIGRATION_PHASE_PERFORM3_DONE);
if (virCloseCallbacksSet(driver->closeCallbacks, vm, conn,
qemuMigrationSrcCleanup) < 0)
@ -5413,7 +5409,7 @@ qemuMigrationSrcPerformPhase(virQEMUDriver *driver,
if (ret < 0) {
qemuMigrationParamsReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
jobPriv->migParams, priv->job.apiFlags);
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
} else {
qemuMigrationJobContinue(vm);
}
@ -5648,7 +5644,7 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
ignore_value(virTimeMillisNow(&timeReceived));
qemuMigrationJobStartPhase(driver, vm,
qemuMigrationJobStartPhase(vm,
v3proto ? QEMU_MIGRATION_PHASE_FINISH3
: QEMU_MIGRATION_PHASE_FINISH2);
@ -5878,7 +5874,7 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
qemuMigrationParamsReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN,
jobPriv->migParams, priv->job.apiFlags);
qemuMigrationJobFinish(driver, vm);
qemuMigrationJobFinish(vm);
if (!virDomainObjIsActive(vm))
qemuDomainRemoveInactiveJob(driver, vm);
@ -5940,7 +5936,7 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
qemuMonitorSetMigrationSpeed(priv->mon,
QEMU_DOMAIN_MIG_BANDWIDTH_MAX);
priv->migMaxBandwidth = QEMU_DOMAIN_MIG_BANDWIDTH_MAX;
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
}
@ -5977,11 +5973,11 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
if (virSetCloseExec(pipeFD[1]) < 0) {
virReportSystemError(errno, "%s",
_("Unable to set cloexec flag"));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto cleanup;
}
if (virCommandRunAsync(compressor, NULL) < 0) {
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
goto cleanup;
}
rc = qemuMonitorMigrateToFd(priv->mon,
@ -5991,7 +5987,7 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
VIR_CLOSE(pipeFD[1]) < 0)
VIR_WARN("failed to close intermediate pipe");
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -6004,7 +6000,7 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
if (virDomainObjIsActive(vm) &&
qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
qemuMonitorMigrateCancel(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
}
goto cleanup;
@ -6031,7 +6027,7 @@ qemuMigrationSrcToFile(virQEMUDriver *driver, virDomainObj *vm,
} else {
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
qemuMonitorSetMigrationSpeed(priv->mon, saveMigBandwidth);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
}
priv->migMaxBandwidth = saveMigBandwidth;
@ -6063,7 +6059,7 @@ qemuMigrationSrcCancel(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
ignore_value(qemuMonitorMigrateCancel(priv->mon));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
for (i = 0; i < vm->def->ndisks; i++) {
virDomainDiskDef *disk = vm->def->disks[i];
@ -6125,8 +6121,7 @@ qemuMigrationJobStart(virQEMUDriver *driver,
}
static void
qemuMigrationJobSetPhase(virQEMUDriver *driver,
virDomainObj *vm,
qemuMigrationJobSetPhase(virDomainObj *vm,
qemuMigrationJobPhase phase)
{
qemuDomainObjPrivate *priv = vm->privateData;
@ -6138,15 +6133,14 @@ qemuMigrationJobSetPhase(virQEMUDriver *driver,
return;
}
qemuDomainObjSetJobPhase(driver, vm, phase);
qemuDomainObjSetJobPhase(vm, phase);
}
static void
qemuMigrationJobStartPhase(virQEMUDriver *driver,
virDomainObj *vm,
qemuMigrationJobStartPhase(virDomainObj *vm,
qemuMigrationJobPhase phase)
{
qemuMigrationJobSetPhase(driver, vm, phase);
qemuMigrationJobSetPhase(vm, phase);
}
static void
@ -6176,9 +6170,9 @@ qemuMigrationJobIsActive(virDomainObj *vm,
}
static void
qemuMigrationJobFinish(virQEMUDriver *driver, virDomainObj *vm)
qemuMigrationJobFinish(virDomainObj *vm)
{
qemuDomainObjEndAsyncJob(driver, vm);
qemuDomainObjEndAsyncJob(vm);
}
@ -6263,7 +6257,7 @@ qemuMigrationSrcFetchMirrorStats(virQEMUDriver *driver,
blockinfo = qemuMonitorGetAllBlockJobInfo(priv->mon, false);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (!blockinfo)
return -1;

View File

@ -504,7 +504,7 @@ qemuMigrationCookieAddNBD(qemuMigrationCookie *mig,
rc = qemuMonitorBlockStatsUpdateCapacityBlockdev(priv->mon, stats);
else
rc = qemuMonitorBlockStatsUpdateCapacity(priv->mon, stats);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;

View File

@ -889,7 +889,7 @@ qemuMigrationParamsApply(virQEMUDriver *driver,
ret = 0;
cleanup:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (xbzrleCacheSize_old)
migParams->params[xbzrle].set = true;
@ -1098,7 +1098,7 @@ qemuMigrationParamsFetch(virQEMUDriver *driver,
rc = qemuMonitorGetMigrationParams(priv->mon, &jsonParams);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -1399,7 +1399,7 @@ qemuMigrationCapsCheck(virQEMUDriver *driver,
rc = qemuMonitorGetMigrationCapabilities(priv->mon, &caps);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -1432,7 +1432,7 @@ qemuMigrationCapsCheck(virQEMUDriver *driver,
rc = qemuMonitorSetMigrationCapabilities(priv->mon, &json);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0) {
virResetLastError();

View File

@ -474,7 +474,7 @@ qemuProcessFakeReboot(void *opaque)
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorSystemReset(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto endjob;
@ -495,7 +495,7 @@ qemuProcessFakeReboot(void *opaque)
ret = 0;
endjob:
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
cleanup:
priv->pausedShutdown = false;
@ -1906,7 +1906,7 @@ qemuProcessInitMonitor(virQEMUDriver *driver,
ret = qemuMonitorSetCapabilities(QEMU_DOMAIN_PRIVATE(vm)->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -2200,7 +2200,7 @@ qemuRefreshVirtioChannelState(virQEMUDriver *driver,
return -1;
rc = qemuMonitorGetChardevInfo(priv->mon, &info);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -2250,7 +2250,7 @@ qemuRefreshPRManagerState(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
rc = qemuMonitorGetPRManagerInfo(priv->mon, &info);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -2277,7 +2277,7 @@ qemuRefreshRTC(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
now = time(NULL);
rv = qemuMonitorGetRTCTime(priv->mon, &thenbits);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rv < 0)
return;
@ -2316,7 +2316,7 @@ qemuProcessRefreshBalloonState(virQEMUDriver *driver,
return -1;
rc = qemuMonitorGetBalloonInfo(qemuDomainGetMonitor(vm), &balloon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -2367,7 +2367,7 @@ qemuProcessWaitForMonitor(virQEMUDriver *driver,
goto cleanup;
ret = qemuMonitorGetChardevInfo(priv->mon, &info);
VIR_DEBUG("qemuMonitorGetChardevInfo returned %i", ret);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret == 0) {
if ((ret = qemuProcessFindCharDevicePTYsMonitor(vm, info)) < 0)
@ -2407,7 +2407,7 @@ qemuProcessDetectIOThreadPIDs(virQEMUDriver *driver,
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
goto cleanup;
ret = qemuMonitorGetIOThreads(priv->mon, &iothreads, &niothreads);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
goto cleanup;
@ -2582,7 +2582,7 @@ qemuProcessSetLinkStates(virQEMUDriver *driver,
ret = 0;
cleanup:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -3106,7 +3106,7 @@ qemuProcessUpdateVideoRamSize(virQEMUDriver *driver,
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
cfg = virQEMUDriverGetConfig(driver);
ret = virDomainObjSave(vm, driver->xmlopt, cfg->stateDir);
@ -3114,7 +3114,7 @@ qemuProcessUpdateVideoRamSize(virQEMUDriver *driver,
return ret;
error:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return -1;
}
@ -3237,7 +3237,7 @@ qemuProcessStartCPUs(virQEMUDriver *driver, virDomainObj *vm,
goto release;
ret = qemuMonitorStartCPUs(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
goto release;
@ -3274,7 +3274,7 @@ int qemuProcessStopCPUs(virQEMUDriver *driver,
goto cleanup;
ret = qemuMonitorStopCPUs(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
goto cleanup;
@ -3385,7 +3385,7 @@ qemuProcessUpdateState(virQEMUDriver *driver, virDomainObj *vm)
qemuDomainObjEnterMonitor(driver, vm);
ret = qemuMonitorGetStatus(priv->mon, &running, &reason);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
return -1;
@ -3621,7 +3621,7 @@ qemuProcessRecoverJob(virQEMUDriver *driver,
case QEMU_ASYNC_JOB_SNAPSHOT:
qemuDomainObjEnterMonitor(driver, vm);
ignore_value(qemuMonitorMigrateCancel(priv->mon));
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
/* resume the domain but only if it was paused as a result of
* running a migration-to-file operation. Although we are
* recovering an async job, this function is run at startup
@ -4282,7 +4282,7 @@ qemuProcessFetchGuestCPU(virQEMUDriver *driver,
rc = qemuMonitorGetGuestCPUx86(priv->mon, cpuQOMPath, &dataEnabled, &dataDisabled);
}
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc == -1)
return -1;
@ -4391,7 +4391,7 @@ qemuProcessFetchCPUDefinitions(virQEMUDriver *driver,
rc = virQEMUCapsFetchCPUModels(priv->mon, vm->def->os.arch, &models);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -4634,10 +4634,9 @@ qemuProcessBeginJob(virQEMUDriver *driver,
void
qemuProcessEndJob(virQEMUDriver *driver,
virDomainObj *vm)
qemuProcessEndJob(virDomainObj *vm)
{
qemuDomainObjEndAsyncJob(driver, vm);
qemuDomainObjEndAsyncJob(vm);
}
@ -5105,7 +5104,7 @@ qemuProcessSetupBalloon(virQEMUDriver *driver,
ret = 0;
cleanup:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -6000,7 +5999,7 @@ qemuProcessSetupHotpluggableVcpus(virQEMUDriver *driver,
rc = qemuMonitorAddDeviceProps(qemuDomainGetMonitor(vm), &vcpuprops);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
goto cleanup;
@ -7162,7 +7161,7 @@ qemuProcessSetupDiskThrottlingBlockdev(virQEMUDriver *driver,
ret = 0;
cleanup:
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
return ret;
}
@ -7282,7 +7281,7 @@ qemuProcessSetupDisksTransientHotplug(virDomainObj *vm,
rc = qemuMonitorSystemReset(priv->mon);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
}
@ -7334,7 +7333,7 @@ qemuProcessSetupLifecycleActions(virDomainObj *vm,
QEMU_MONITOR_ACTION_WATCHDOG_KEEP,
QEMU_MONITOR_ACTION_PANIC_KEEP);
qemuDomainObjExitMonitor(priv->driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -8370,7 +8369,7 @@ void qemuProcessStop(virQEMUDriver *driver,
endjob:
if (asyncJob != QEMU_ASYNC_JOB_NONE)
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
cleanup:
virErrorRestore(&orig_err);
@ -8395,7 +8394,7 @@ qemuProcessAutoDestroy(virDomainObj *dom,
if (priv->job.asyncJob) {
VIR_DEBUG("vm=%s has long-term job active, cancelling",
dom->def->name);
qemuDomainObjDiscardAsyncJob(driver, dom);
qemuDomainObjDiscardAsyncJob(dom);
}
VIR_DEBUG("Killing domain");
@ -8413,7 +8412,7 @@ qemuProcessAutoDestroy(virDomainObj *dom,
qemuDomainRemoveInactive(driver, dom);
qemuDomainObjEndJob(driver, dom);
qemuDomainObjEndJob(dom);
virObjectEventStateQueue(driver->domainEventState, event);
}
@ -8457,7 +8456,7 @@ qemuProcessRefreshDisks(virQEMUDriver *driver,
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) == 0) {
table = qemuMonitorGetBlockInfo(priv->mon);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
if (!table)
@ -8524,7 +8523,7 @@ qemuProcessRefreshCPUMigratability(virQEMUDriver *driver,
rc = qemuMonitorGetCPUMigratable(priv->mon, cpuQOMPath, &migratable);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
@ -8681,7 +8680,7 @@ qemuProcessRefreshLegacyBlockjobs(virQEMUDriver *driver,
qemuDomainObjEnterMonitor(driver, vm);
blockJobs = qemuMonitorGetAllBlockJobInfo(qemuDomainGetMonitor(vm), true);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (!blockJobs)
return -1;
@ -8998,7 +8997,7 @@ qemuProcessReconnect(void *opaque)
if (jobStarted) {
if (!virDomainObjIsActive(obj))
qemuDomainRemoveInactive(driver, obj);
qemuDomainObjEndJob(driver, obj);
qemuDomainObjEndJob(obj);
} else {
if (!virDomainObjIsActive(obj))
qemuDomainRemoveInactiveJob(driver, obj);

View File

@ -69,8 +69,7 @@ int qemuProcessBeginJob(virQEMUDriver *driver,
virDomainObj *vm,
virDomainJobOperation operation,
unsigned long apiFlags);
void qemuProcessEndJob(virQEMUDriver *driver,
virDomainObj *vm);
void qemuProcessEndJob(virDomainObj *vm);
typedef enum {
VIR_QEMU_PROCESS_START_COLD = 1 << 0,

View File

@ -322,7 +322,7 @@ qemuSnapshotCreateActiveInternal(virQEMUDriver *driver,
}
ret = qemuMonitorCreateSnapshot(priv->mon, snap->def->name);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (ret < 0)
goto cleanup;
@ -875,7 +875,7 @@ qemuSnapshotDiskCleanup(qemuSnapshotDiskData *data,
qemuBlockStorageSourceAttachRollback(qemuDomainGetMonitor(vm),
data[i].crdata->srcdata[0]);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
}
}
@ -1024,7 +1024,7 @@ qemuSnapshotDiskPrepareOneBlockdev(virQEMUDriver *driver,
rc = qemuBlockStorageSourceAttachApply(qemuDomainGetMonitor(vm),
dd->crdata->srcdata[0]);
qemuDomainObjExitMonitor(driver, vm);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
return -1;
} else {
@ -1281,7 +1281,7 @@ qemuSnapshotDiskCreate(qemuSnapshotDiskContext *snapctxt)
rc = qemuMonitorTransaction(priv->mon, &snapctxt->actions);
qemuDomainObjExitMonitor(driver, snapctxt->vm);
qemuDomainObjExitMonitor(snapctxt->vm);
for (i = 0; i < snapctxt->ndd; i++) {
qemuSnapshotDiskData *dd = snapctxt->dd + i;
@ -1887,7 +1887,7 @@ qemuSnapshotCreateXML(virDomainPtr domain,
snapshot = qemuSnapshotCreate(vm, domain, def, driver, cfg, flags);
}
qemuDomainObjEndAsyncJob(driver, vm);
qemuDomainObjEndAsyncJob(vm);
return snapshot;
}
@ -2322,7 +2322,7 @@ qemuSnapshotRevert(virDomainObj *vm,
}
endjob:
qemuProcessEndJob(driver, vm);
qemuProcessEndJob(vm);
return ret;
}
@ -2454,7 +2454,7 @@ qemuSnapshotDelete(virDomainObj *vm,
}
endjob:
qemuDomainObjEndJob(driver, vm);
qemuDomainObjEndJob(vm);
return ret;
}