These are a bunch of cleanups and patches extracted from the AioContext
lock removal series. They are independent and can be applied/reviewed
separately. The flip side is that several of the changes seem to be a
bit gratuitous without the big change from AioContext lock to a specific
block job mutex for all block job data structures.
While the patch set seems very large, a lot of it just moving the code
around to avoid forward references; this is so that close functions will
have similar locking rules.
Paolo
Paolo Bonzini (10):
blockjob: remove unnecessary check
blockjob: remove iostatus_reset callback
blockjob: introduce block_job_fail
blockjob: introduce block_job_pause/resume_all
blockjob: separate monitor and blockjob APIs
blockjob: move iostatus reset inside block_job_user_resume
blockjob: strengthen a bit test-blockjob-txn
blockjob: introduce block_job_cancel_async
blockjob: reorganize block_job_completed_txn_abort
blockjob: use deferred_to_main_loop to indicate the coroutine has
ended
block/backup.c | 2 +-
block/commit.c | 2 +-
block/io.c | 18 +-
block/mirror.c | 2 +-
blockdev.c | 1 -
blockjob.c | 559 ++++++++++++++++++++++++-------------------
include/block/blockjob.h | 14 +-
include/block/blockjob_int.h | 21 +-
tests/test-blockjob-txn.c | 7 +-
tests/test-blockjob.c | 10 +-
10 files changed, 334 insertions(+), 302 deletions(-)
--
2.9.3