]> git.proxmox.com Git - mirror_qemu.git/commit - blockdev.c
block: add support for job pause/resume
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 28 Sep 2012 15:22:50 +0000 (17:22 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 28 Sep 2012 17:14:32 +0000 (19:14 +0200)
commit8acc72a4d20910d522516dab31272fe66da8da28
tree4d521649f4d3a32eb74cf021ea12cfc1fc763e8f
parent8d65883fff22e00d70f5880a26b7a1248c59a2d8
block: add support for job pause/resume

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.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
blockdev.c
blockjob.c
blockjob.h
qapi-schema.json
qerror.h