]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vz: implementation of domainReboot callback
authorMikhail Feoktistov <mfeoktistov@virtuozzo.com>
Thu, 19 Nov 2015 12:16:48 +0000 (15:16 +0300)
committerDmitry Guryanov <dguryanov@parallels.com>
Thu, 19 Nov 2015 13:19:27 +0000 (16:19 +0300)
Diff from v1.
1. Add virCheckFlags() call in vzDomainReboot

src/vz/vz_driver.c
src/vz/vz_sdk.c
src/vz/vz_sdk.h

index 0a968b916020e7d21c6bda4e28e8fa60828c8d9a..39f58a453246745aff4f70ad4c4f62da5415c357 100644 (file)
@@ -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 */
index 526c0f234b4c253a46918552e48e9f88208ad313..750133dc398fac2b546eb5f9f2c208f438e9fa26 100644 (file)
@@ -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,
index ebe4591b271fb48c66a992b5d3d399856ecb40da..88ee7d91dea5993a58e2564b13d65ce3c49bbaa5 100644 (file)
@@ -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