[libvirt] [PATCH 1/3] Introduce virDomainPMWakeup API

Eric Blake eblake at redhat.com
Fri Feb 10 18:56:12 UTC 2012


On 02/10/2012 06:43 AM, Michal Privoznik wrote:
> This API allows a domain which previously called
> virDomainPMSuspendForDuration() to be woken up.
> ---
>  include/libvirt/libvirt.h.in |    2 +
>  src/driver.h                 |    4 +++
>  src/libvirt.c                |   50 ++++++++++++++++++++++++++++++++++++++++++
>  src/libvirt_public.syms      |    1 +
>  src/remote/remote_driver.c   |    1 +
>  src/remote/remote_protocol.x |    8 ++++++-
>  src/remote_protocol-structs  |    5 ++++
>  7 files changed, 70 insertions(+), 1 deletions(-)

I don't like the thought of adding new API post-freeze without good
reason, but I think this is a case of good reason - we are already
committing to adding a new feature in virDomainPMSuspendForDuration, and
that feature will be broken by design for 2 of its 3 targets unless we
also add this counterpart.  On that basis, I will review this series and
request that you include them prior to 0.9.10.

> +++ b/src/libvirt.c
> @@ -2515,6 +2515,56 @@ error:
>  }
>  
>  /**
> + * virDomainPMWakeup:
> + * @dom: a domain object
> + * @flags: extra flags; not used yet, so callers should always pass 0
> + *
> + * Inject a wakeup into the guest that previously used
> + * virDomainPMSuspendForDuration, rather than waiting for the
> + * previously requested duration (if any) to elapse.
> + *
> + * Returns: 0 on success,
> + *          -1 on failure.
> + */

/me remarks that this looks an awful like my first RFC for this API -
thanks for taking my idea and turning it into a patch :)

> +++ b/src/libvirt_public.syms
> @@ -527,6 +527,7 @@ LIBVIRT_0.9.10 {
>          virDomainShutdownFlags;
>          virStorageVolResize;
>          virStorageVolWipePattern;
> +        virDomainPMWakeup;

Call me OCD, but I would have sorted this right after
virDomainPMSuspendForDuration.

> +++ b/src/remote/remote_driver.c
> @@ -4922,6 +4922,7 @@ static virDriver remote_driver = {
>      .domainGetDiskErrors = remoteDomainGetDiskErrors, /* 0.9.10 */
>      .domainSetMetadata = remoteDomainSetMetadata, /* 0.9.10 */
>      .domainGetMetadata = remoteDomainGetMetadata, /* 0.9.10 */
> +    .domainPMWakeup = remoteDomainPMWakeup, /* 0.9.10 */

Also, since the driver.h patch stuck it next to PMSuspend, I would have
stuck this line next to the remoteDomainPMSuspendForDuration line.

ACK; ordering nits are trivial.

-- 
Eric Blake   eblake at redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20120210/d7d84a36/attachment-0001.sig>


More information about the libvir-list mailing list