On Thu, Oct 27, 2016 at 12:06:54PM -0400, John Snow wrote: > This is a follow-up to patches 2-6 of: > [PATCH v2 00/11] blockjobs: Fix transactional race condition > > That series started trying to refactor blockjobs with the goal of > internalizing BlockJob state as a side effect of having gone through > the effort of figuring out which commands were "safe" to call on > a Job that has no coroutine object. > > I've split out the less contentious bits so I can move forward with my > original work of focusing on the transactional race condition in a > different series. > > Functionally the biggest difference here is the presence of "internal" > block jobs, which do not emit QMP events or show up in block query > requests. This is done for the sake of replication jobs, which should > not be interfering with the public jobs namespace. > > === > v2 > === > > 01: Cleaned up error message, fixed strcmp oversight, added assert() > 02-07: Added R-Bs. (Does everyone else pronounce this as "Arby's" too?)
Well, now I will! > > ________________________________________________________________________________ > > For convenience, this branch is available at: > https://github.com/jnsnow/qemu.git branch job-refactor-pt1 > https://github.com/jnsnow/qemu/tree/job-refactor-pt1 > > This version is tagged job-refactor-pt1-v2: > https://github.com/jnsnow/qemu/releases/tag/job-refactor-pt1-v2 > > John Snow (7): > blockjobs: hide internal jobs from management API > blockjobs: Allow creating internal jobs > Replication/Blockjobs: Create replication jobs as internal > blockjob: centralize QMP event emissions > Blockjobs: Internalize user_pause logic > blockjobs: split interface into public/private, Part 1 > blockjobs: fix documentation > > block/backup.c | 5 +- > block/commit.c | 10 +- > block/mirror.c | 28 +++-- > block/replication.c | 14 +-- > block/stream.c | 9 +- > block/trace-events | 5 +- > blockdev.c | 74 +++++-------- > blockjob.c | 113 +++++++++++++++---- > include/block/block.h | 3 +- > include/block/block_int.h | 26 ++--- > include/block/blockjob.h | 257 > +++++++------------------------------------ > include/block/blockjob_int.h | 232 ++++++++++++++++++++++++++++++++++++++ > qemu-img.c | 5 +- > tests/test-blockjob-txn.c | 5 +- > tests/test-blockjob.c | 4 +- > 15 files changed, 446 insertions(+), 344 deletions(-) > create mode 100644 include/block/blockjob_int.h > > -- > 2.7.4 > Thanks, Applied to my block branch: git://github.com/codyprime/qemu-kvm-jtc.git block -Jeff