diff mbox

[4/6] qemu-ga: guest-suspend-disk: don't emit a success response

Message ID 1336162822-13161-5-git-send-email-lcapitulino@redhat.com
State New
Headers show

Commit Message

Luiz Capitulino May 4, 2012, 8:20 p.m. UTC
Today, qemu-ga may not be able to emit a success response when
guest-suspend-disk completes. This happens because the VM may
vanish before qemu-ga is able to emit a response.

This semantic is a bit confusing, as it's not clear for clients if
they should wait for a response or how they should check for success.

This commit solves that problem by changing guest-suspend-disk to
never emit a success response and suggests in the documentation
what clients could do to check for success.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 qapi-schema-guest.json |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Michael Roth May 7, 2012, 4:55 p.m. UTC | #1
On Fri, May 04, 2012 at 05:20:20PM -0300, Luiz Capitulino wrote:
> Today, qemu-ga may not be able to emit a success response when
> guest-suspend-disk completes. This happens because the VM may
> vanish before qemu-ga is able to emit a response.
> 
> This semantic is a bit confusing, as it's not clear for clients if
> they should wait for a response or how they should check for success.
> 
> This commit solves that problem by changing guest-suspend-disk to
> never emit a success response and suggests in the documentation
> what clients could do to check for success.
> 
> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
> ---
>  qapi-schema-guest.json |   14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/qapi-schema-guest.json b/qapi-schema-guest.json
> index 0aa9f91..8ea7805 100644
> --- a/qapi-schema-guest.json
> +++ b/qapi-schema-guest.json
> @@ -361,17 +361,19 @@
>  # For the best results it's strongly recommended to have the pm-utils
>  # package installed in the guest.
>  #
> -# Returns: nothing on success
> +# Returns: This command does NOT return a response on success. There's a
> +# high chance the command succeeded if the VM exits with a zero exit status,
> +# but the VM could also exit due to other reasons.

Similar suggestion as previous patch (adding a note about query-status)

> +#
> +# The following errors may be returned:
>  #          If suspend to disk is not supported, Unsupported
>  #
> -# Notes: o This is an asynchronous request. There's no guarantee a response
> -#          will be sent
> -#        o It's strongly recommended to issue the guest-sync command before
> -#          sending commands when the guest resumes
> +# Notes: It's strongly recommended to issue the guest-sync command before
> +#        sending commands when the guest resumes
>  #
>  # Since: 1.1
>  ##
> -{ 'command': 'guest-suspend-disk' }
> +{ 'command': 'guest-suspend-disk', 'success-response': 'no' }
> 
>  ##
>  # @guest-suspend-ram
> -- 
> 1.7.9.2.384.g4a92a
>
diff mbox

Patch

diff --git a/qapi-schema-guest.json b/qapi-schema-guest.json
index 0aa9f91..8ea7805 100644
--- a/qapi-schema-guest.json
+++ b/qapi-schema-guest.json
@@ -361,17 +361,19 @@ 
 # For the best results it's strongly recommended to have the pm-utils
 # package installed in the guest.
 #
-# Returns: nothing on success
+# Returns: This command does NOT return a response on success. There's a
+# high chance the command succeeded if the VM exits with a zero exit status,
+# but the VM could also exit due to other reasons.
+#
+# The following errors may be returned:
 #          If suspend to disk is not supported, Unsupported
 #
-# Notes: o This is an asynchronous request. There's no guarantee a response
-#          will be sent
-#        o It's strongly recommended to issue the guest-sync command before
-#          sending commands when the guest resumes
+# Notes: It's strongly recommended to issue the guest-sync command before
+#        sending commands when the guest resumes
 #
 # Since: 1.1
 ##
-{ 'command': 'guest-suspend-disk' }
+{ 'command': 'guest-suspend-disk', 'success-response': 'no' }
 
 ##
 # @guest-suspend-ram