static int qemudDomainObjStart(virConnectPtr conn,
struct qemud_driver *driver,
- virDomainObjPtr vm);
+ virDomainObjPtr vm,
+ bool start_paused);
static int qemudStartVMDaemon(virConnectPtr conn,
struct qemud_driver *driver,
} else {
if (vm->autostart &&
!virDomainObjIsActive(vm) &&
- qemudDomainObjStart(data->conn, data->driver, vm) < 0) {
+ qemudDomainObjStart(data->conn, data->driver, vm, false) < 0) {
err = virGetLastError();
VIR_ERROR(_("Failed to autostart VM '%s': %s"),
vm->def->name,
static int qemudDomainObjStart(virConnectPtr conn,
struct qemud_driver *driver,
- virDomainObjPtr vm)
+ virDomainObjPtr vm,
+ bool start_paused)
{
int ret = -1;
char *managed_save;
goto cleanup;
}
- ret = qemudStartVMDaemon(conn, driver, vm, NULL, false, -1, NULL);
+ ret = qemudStartVMDaemon(conn, driver, vm, NULL, start_paused, -1, NULL);
if (ret != -1) {
virDomainEventPtr event =
virDomainEventNewFromObj(vm,
virDomainObjPtr vm;
int ret = -1;
- /* XXX: Support VIR_DOMAIN_START_PAUSED */
- virCheckFlags(0, -1);
+ virCheckFlags(VIR_DOMAIN_START_PAUSED, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
goto endjob;
}
- ret = qemudDomainObjStart(dom->conn, driver, vm);
+ ret = qemudDomainObjStart(dom->conn, driver, vm,
+ (flags & VIR_DOMAIN_START_PAUSED) != 0);
endjob:
if (qemuDomainObjEndJob(vm) == 0)