On 06/15/2012 09:05 AM, Paolo Bonzini wrote: > Add QMP commands matching the functionality. > > Paused jobs cannot be canceled without first resuming them. This > ensures that I/O errors are never missed by management. However, an > optional force argument can be specified to allow that. > > Signed-off-by: Paolo Bonzini > +++ b/qapi-schema.json > +## > +# @block-job-pause: > +# > +# Pause an active background block operation. > +# > +# This command returns immediately after marking the active background block > +# operation for pausing. It is an error to call this command if no > +# operation is in progress. > +# > +# The operation will pause as soon as possible. No event is emitted when > +# the operation is actually paused. Cancelling a paused job automatically US (Canceling) vs. UK (Cancelling) > +# resumes it. > +# > +# @device: the device name > +# > +# Returns: Nothing on success > +# If no background operation is active on this device, DeviceNotActive > +# > +# Since: 1.1 1.2 > +# @block-job-resume: > +# > +# Resume an active background block operation. > +# > +# This command returns immediately after resuming a paused background block > +# operation for cancellation. It is an error to call this command if no > +# operation is in progress. > +# > +# @device: the device name > +# > +# Returns: Nothing on success > +# If no background operation is active on this device, DeviceNotActive > +# If cancellation already in progress, DeviceInUse > # > # Since: 1.1 1.2 Just so I'm clear, am I right that: calling block-job-pause multiple times means the subsequent calls are successful no-ops; likewise, calling block-job-resume on a job not paused (whether by calling multiple times, or if the job never paused in the first place) is a successful no-op. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org