On 06/15/2012 09:05 AM, Paolo Bonzini wrote:
> Job pausing reuses the existing support for cancellable sleeps.  A pause
> happens at the next sleeping point and lasts until the coroutine is
> re-entered explicitly.  Cancellation was already doing a forced resume,
> so implement it explicitly in terms of resume.
> 
> Paused jobs cannot be canceled without first resuming them.  This ensures
> that I/O errors are never missed by management.
> 

> +++ b/qapi-schema.json
> @@ -906,6 +906,8 @@
>  #
>  # @len: the maximum progress value
>  #
> +# @paused: whether the job is paused
> +#
>  # @offset: the current progress value
>  #
>  # @speed: the rate limit, bytes per second
> @@ -914,7 +916,7 @@
>  ##
>  { 'type': 'BlockJobInfo',
>    'data': {'type': 'str', 'device': 'str', 'len': 'int',
> -           'offset': 'int', 'speed': 'int'} }
> +           'offset': 'int', 'paused': 'bool', 'speed': 'int'} }

Should this be listed as '*paused': 'bool', as an indication that not
all versions of qemu populated the paused member?  It's an output-only
type, though, so I think we are okay in providing more information that
what clients were previously used to seeing.

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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to