From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c0CFY-0008Gb-9v for qemu-devel@nongnu.org; Fri, 28 Oct 2016 14:51:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c0CFT-000526-Ib for qemu-devel@nongnu.org; Fri, 28 Oct 2016 14:51:32 -0400 Date: Fri, 28 Oct 2016 14:51:21 -0400 From: Jeff Cody Message-ID: <20161028185121.GA6304@localhost.localdomain> References: <1477584421-1399-1-git-send-email-jsnow@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1477584421-1399-1-git-send-email-jsnow@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 0/7] blockjobs: preliminary refactoring work, Pt 1 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow Cc: qemu-block@nongnu.org, kwolf@redhat.com, xiecl.fnst@cn.fujitsu.com, wency@cn.fujitsu.com, pbonzini@redhat.com, qemu-devel@nongnu.org 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