int ret = -1;
qemuDomainObjPrivate *priv;
virDomainState state;
- virQEMUDriver *driver = dom->conn->privateData;
virCheckFlags(0, -1);
if (state == VIR_DOMAIN_CRASHED)
virDomainObjSetState(vm, VIR_DOMAIN_PAUSED, VIR_DOMAIN_PAUSED_CRASHED);
- qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_NONE);
+ qemuProcessRefreshState(vm, VIR_ASYNC_JOB_NONE);
endjob:
virDomainObjEndJob(vm);
static void
-processResetEvent(virQEMUDriver *driver,
- virDomainObj *vm)
+processResetEvent(virDomainObj *vm)
{
if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0)
return;
- qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_NONE);
+ qemuProcessRefreshState(vm, VIR_ASYNC_JOB_NONE);
virDomainObjEndJob(vm);
}
processEvent->status);
break;
case QEMU_PROCESS_EVENT_RESET:
- processResetEvent(driver, vm);
+ processResetEvent(vm);
break;
case QEMU_PROCESS_EVENT_NBDKIT_EXITED:
processNbdkitExitedEvent(vm, processEvent->data);
/* Now that the state data was transferred we can refresh the actual state
* of the devices */
- if (qemuProcessRefreshState(driver, vm, VIR_ASYNC_JOB_MIGRATION_IN) < 0) {
+ if (qemuProcessRefreshState(vm, VIR_ASYNC_JOB_MIGRATION_IN) < 0) {
/* Similarly to the case above v2 protocol will not be able to recover
* from this. Let's ignore this and perhaps stuff will not break. */
if (v3proto)
* migration.
*/
static int
-qemuProcessUpdateVideoRamSize(virQEMUDriver *driver,
- virDomainObj *vm,
+qemuProcessUpdateVideoRamSize(virDomainObj *vm,
int asyncJob)
{
int ret = -1;
qemuDomainObjExitMonitor(vm);
- cfg = virQEMUDriverGetConfig(driver);
- ret = virDomainObjSave(vm, driver->xmlopt, cfg->stateDir);
+ cfg = virQEMUDriverGetConfig(priv->driver);
+ ret = virDomainObjSave(vm, priv->driver->xmlopt, cfg->stateDir);
return ret;
/**
* qemuProcessRefreshState:
- * @driver: qemu driver data
* @vm: domain to refresh
* @asyncJob: async job type
*
* state influenced by the migration stream.
*/
int
-qemuProcessRefreshState(virQEMUDriver *driver,
- virDomainObj *vm,
+qemuProcessRefreshState(virDomainObj *vm,
virDomainAsyncJob asyncJob)
{
VIR_DEBUG("Fetching list of active devices");
return -1;
VIR_DEBUG("Detecting actual memory size for video device");
- if (qemuProcessUpdateVideoRamSize(driver, vm, asyncJob) < 0)
+ if (qemuProcessUpdateVideoRamSize(vm, asyncJob) < 0)
return -1;
VIR_DEBUG("Updating disk data");
/* Refresh state of devices from QEMU. During migration this happens
* in qemuMigrationDstFinish to ensure that state information is fully
* transferred. */
- if (qemuProcessRefreshState(driver, vm, asyncJob) < 0)
+ if (qemuProcessRefreshState(vm, asyncJob) < 0)
goto stop;
}
bool startCPUs,
virDomainPausedReason pausedReason);
-int qemuProcessRefreshState(virQEMUDriver *driver,
- virDomainObj *vm,
+int qemuProcessRefreshState(virDomainObj *vm,
virDomainAsyncJob asyncJob);
typedef enum {
VIR_DOMAIN_EVENT_STARTED_RESTORED);
virObjectEventStateQueue(driver->domainEventState, event);
- if (qemuProcessRefreshState(driver, vm, asyncJob) < 0)
+ if (qemuProcessRefreshState(vm, asyncJob) < 0)
goto cleanup;
/* If it was running before, resume it now unless caller requested pause. */