* Returns 0 on success, -1 on failure.
*/
int
-qemuDomainObjPreserveJob(virDomainObj *obj,
+qemuDomainObjPreserveJob(virDomainJobObj *currJob,
virDomainJobObj *job)
{
- qemuDomainObjPrivate *priv = obj->privateData;
-
memset(job, 0, sizeof(*job));
- job->active = priv->job.active;
- job->owner = priv->job.owner;
- job->asyncJob = priv->job.asyncJob;
- job->asyncOwner = priv->job.asyncOwner;
- job->asyncStarted = priv->job.asyncStarted;
- job->phase = priv->job.phase;
- job->privateData = g_steal_pointer(&priv->job.privateData);
- job->apiFlags = priv->job.apiFlags;
-
- if (priv->job.cb &&
- !(priv->job.privateData = priv->job.cb->allocJobPrivate()))
+ job->active = currJob->active;
+ job->owner = currJob->owner;
+ job->asyncJob = currJob->asyncJob;
+ job->asyncOwner = currJob->asyncOwner;
+ job->phase = currJob->phase;
+ job->privateData = g_steal_pointer(&currJob->privateData);
+ job->apiFlags = currJob->apiFlags;
+
+ if (currJob->cb &&
+ !(currJob->privateData = currJob->cb->allocJobPrivate()))
return -1;
- job->cb = priv->job.cb;
+ job->cb = currJob->cb;
- virDomainObjResetJob(&priv->job);
- virDomainObjResetAsyncJob(&priv->job);
+ virDomainObjResetJob(currJob);
+ virDomainObjResetAsyncJob(currJob);
return 0;
}
int phase);
void qemuDomainObjSetAsyncJobMask(virDomainObj *obj,
unsigned long long allowedJobs);
-int qemuDomainObjPreserveJob(virDomainObj *obj,
+int qemuDomainObjPreserveJob(virDomainJobObj *currJob,
virDomainJobObj *job);
void
qemuDomainObjRestoreAsyncJob(virDomainObj *vm,
cfg = virQEMUDriverGetConfig(driver);
priv = obj->privateData;
- qemuDomainObjPreserveJob(obj, &oldjob);
+ qemuDomainObjPreserveJob(&priv->job, &oldjob);
if (oldjob.asyncJob == VIR_ASYNC_JOB_MIGRATION_IN)
stopFlags |= VIR_QEMU_PROCESS_STOP_MIGRATED;
if (oldjob.asyncJob == VIR_ASYNC_JOB_BACKUP && priv->backup)