[libvirt] [PATCH v2] vz: implementation of domainReboot callback
Dmitry Guryanov
dguryanov at virtuozzo.com
Thu Nov 19 13:51:43 UTC 2015
On Thu, 2015-11-19 at 15:16 +0300, Mikhail Feoktistov wrote:
> Diff from v1.
> 1. Add virCheckFlags() call in vzDomainReboot
>
ACKed and pushed.
Could you, please, put such notes below '---' delimiter? So that it will not
appear in a commit message.
Also I think at some point we will need to add ability to use non-default flags,
like VIR_DOMAIN_REBOOT_ACPI_POWER_BTN for VMs and VIR_DOMAIN_REBOOT_INITCTL for
containers, but since it's not clear now, which ones, let's have support of
default flags only.
> ---
> 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 0a968b9..39f58a4 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 89c9e89..bf71e96 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 ebe4591..88ee7d9 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
--
Dmitry Guryanov
More information about the libvir-list
mailing list