From dbc7819921d0bbcc31f074eec94be574ec0664ee Mon Sep 17 00:00:00 2001 From: Mikhail Feoktistov Date: Thu, 19 Nov 2015 15:16:48 +0300 Subject: [PATCH] vz: implementation of domainReboot callback Diff from v1. 1. Add virCheckFlags() call in vzDomainReboot --- src/vz/vz_driver.c | 8 ++++++++ src/vz/vz_sdk.c | 8 ++++++++ src/vz/vz_sdk.h | 1 + 3 files changed, 17 insertions(+) diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 0a968b9160..39f58a4532 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -923,6 +923,13 @@ static int vzDomainShutdown(virDomainPtr domain) return prlsdkDomainChangeState(domain, prlsdkStop); } +static int vzDomainReboot(virDomainPtr domain, + unsigned int flags) +{ + virCheckFlags(0, -1); + return prlsdkDomainChangeState(domain, prlsdkRestart); +} + static int vzDomainIsActive(virDomainPtr domain) { virDomainObjPtr dom = NULL; @@ -1486,6 +1493,7 @@ static virHypervisorDriver vzDriver = { .domainShutdown = vzDomainShutdown, /* 0.10.0 */ .domainCreate = vzDomainCreate, /* 0.10.0 */ .domainCreateWithFlags = vzDomainCreateWithFlags, /* 1.2.10 */ + .domainReboot = vzDomainReboot, /* 1.2.22 */ .domainDefineXML = vzDomainDefineXML, /* 0.10.0 */ .domainDefineXMLFlags = vzDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = vzDomainUndefine, /* 1.2.10 */ diff --git a/src/vz/vz_sdk.c b/src/vz/vz_sdk.c index 526c0f234b..750133dc39 100644 --- a/src/vz/vz_sdk.c +++ b/src/vz/vz_sdk.c @@ -1831,6 +1831,14 @@ PRL_RESULT prlsdkSuspend(PRL_HANDLE sdkdom) return waitJob(job); } +PRL_RESULT prlsdkRestart(PRL_HANDLE sdkdom) +{ + PRL_HANDLE job = PRL_INVALID_HANDLE; + + job = PrlVm_Restart(sdkdom); + return waitJob(job); +} + int prlsdkDomainChangeStateLocked(vzConnPtr privconn, virDomainObjPtr dom, diff --git a/src/vz/vz_sdk.h b/src/vz/vz_sdk.h index ebe4591b27..88ee7d91de 100644 --- a/src/vz/vz_sdk.h +++ b/src/vz/vz_sdk.h @@ -41,6 +41,7 @@ PRL_RESULT prlsdkStop(PRL_HANDLE sdkdom); PRL_RESULT prlsdkPause(PRL_HANDLE sdkdom); PRL_RESULT prlsdkResume(PRL_HANDLE sdkdom); PRL_RESULT prlsdkSuspend(PRL_HANDLE sdkdom); +PRL_RESULT prlsdkRestart(PRL_HANDLE sdkdom); typedef PRL_RESULT (*prlsdkChangeStateFunc)(PRL_HANDLE sdkdom); int