}
-static int qemuDomainSnapshotSetCurrentActive(virDomainObjPtr vm,
- char *snapshotDir);
-static int qemuDomainSnapshotSetCurrentInactive(virDomainObjPtr vm,
- char *snapshotDir);
-
-
static virDrvOpenStatus qemudOpen(virConnectPtr conn,
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
unsigned int flags)
if (qemuProcessStart(conn, driver, vm, NULL,
(flags & VIR_DOMAIN_START_PAUSED) != 0,
(flags & VIR_DOMAIN_START_AUTODESTROY) != 0,
- -1, NULL, VIR_VM_OP_CREATE) < 0) {
+ -1, NULL, NULL, VIR_VM_OP_CREATE) < 0) {
virDomainAuditStart(vm, "booted", false);
if (qemuDomainObjEndJob(driver, vm) > 0)
virDomainRemoveInactive(&driver->domains,
/* Set the migration source and start it up. */
ret = qemuProcessStart(conn, driver, vm, "stdio", true,
- false, *fd, path, VIR_VM_OP_RESTORE);
+ false, *fd, path, NULL, VIR_VM_OP_RESTORE);
if (intermediatefd != -1) {
if (ret < 0) {
}
ret = qemuProcessStart(conn, driver, vm, NULL, start_paused,
- autodestroy, -1, NULL, VIR_VM_OP_CREATE);
+ autodestroy, -1, NULL, NULL, VIR_VM_OP_CREATE);
virDomainAuditStart(vm, "booted", ret >= 0);
if (ret >= 0) {
virDomainEventPtr event =
return ret;
}
-static int qemuDomainSnapshotSetCurrentActive(virDomainObjPtr vm,
- char *snapshotDir)
-{
- if (vm->current_snapshot) {
- vm->current_snapshot->def->active = 1;
-
- return qemuDomainSnapshotWriteMetadata(vm, vm->current_snapshot,
- snapshotDir);
- }
-
- return 0;
-}
-
-static int qemuDomainSnapshotSetCurrentInactive(virDomainObjPtr vm,
- char *snapshotDir)
-{
- if (vm->current_snapshot) {
- vm->current_snapshot->def->active = 0;
-
- return qemuDomainSnapshotWriteMetadata(vm, vm->current_snapshot,
- snapshotDir);
- }
-
- return 0;
-}
-
static int qemuDomainSnapshotIsAllowed(virDomainObjPtr vm)
{
if (rc < 0)
goto endjob;
} else {
- if (qemuDomainSnapshotSetCurrentActive(vm, driver->snapshotDir) < 0)
- goto endjob;
-
rc = qemuProcessStart(snapshot->domain->conn, driver, vm, NULL,
- false, false, -1, NULL, VIR_VM_OP_CREATE);
+ false, false, -1, NULL, vm->current_snapshot,
+ VIR_VM_OP_CREATE);
virDomainAuditStart(vm, "from-snapshot", rc >= 0);
- if (qemuDomainSnapshotSetCurrentInactive(vm,
- driver->snapshotDir) < 0)
- goto endjob;
if (rc < 0)
goto endjob;
}
goto cleanup;
}
}
-
- if (qemuDomainSnapshotSetCurrentActive(vm, driver->snapshotDir) < 0)
- goto endjob;
}
ret = 0;
bool autodestroy,
int stdin_fd,
const char *stdin_path,
+ virDomainSnapshotObjPtr snapshot,
enum virVMOperationType vmop)
{
int ret;
VIR_DEBUG("Building emulator command line");
if (!(cmd = qemuBuildCommandLine(conn, driver, vm->def, priv->monConfig,
priv->monJSON != 0, priv->qemuCaps,
- migrateFrom, stdin_fd,
- vm->current_snapshot, vmop)))
+ migrateFrom, stdin_fd, snapshot, vmop)))
goto cleanup;
-#if 0
- /* XXX */
- if (qemuDomainSnapshotSetCurrentInactive(vm, driver->snapshotDir) < 0)
- goto cleanup;
-#endif
-
/* now that we know it is about to start call the hook if present */
if (virHookPresent(VIR_HOOK_DRIVER_QEMU)) {
char *xml = virDomainDefFormat(vm->def, 0);