Message ID | 1336162822-13161-5-git-send-email-lcapitulino@redhat.com |
---|---|
State | New |
Headers | show |
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 --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
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(-)