From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aQhRM-0001Fk-AT for qemu-devel@nongnu.org; Tue, 02 Feb 2016 15:20:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aQhRL-0004HR-9r for qemu-devel@nongnu.org; Tue, 02 Feb 2016 15:20:44 -0500 References: <1453852499-25800-1-git-send-email-jsnow@redhat.com> From: John Snow Message-ID: <56B10F93.8030607@redhat.com> Date: Tue, 2 Feb 2016 15:20:35 -0500 MIME-Version: 1.0 In-Reply-To: <1453852499-25800-1-git-send-email-jsnow@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 0/5] block: reduce reliance on bs->job pointer List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: kwolf@redhat.com, jcody@redhat.com, armbru@redhat.com, qemu-devel@nongnu.org ping, I think this one is up to you, jtc? On 01/26/2016 06:54 PM, John Snow wrote: > This is a small collection of patches to reduce our use of the bs->job > pointer where possible. There are still more usages in the code, but > this cuts down on a few. >=20 > The goal is to eventually eliminate all of them and allow multiple bloc= k > jobs to run concurrently, but design on what that will look like is > on-going. >=20 > In the meantime, eliminate a few obviously needless references to > bs->job by allowing more systems to carry pointers to jobs directly > instead of trying to fish the pointer out of the BDS all the time. >=20 > =3D=3D=3D > v2: > =3D=3D=3D >=20 > Key: > [----] : patches are identical > [####] : number of functional differences between upstream/downstream p= atch > [down] : patch is downstream-only > The flags [FC] indicate (F)unctional and (C)ontextual differences, resp= ectively >=20 > 001/5:[----] [--] 'block: Allow mirror_start to return job references' > 002/5:[----] [--] 'block: Allow stream_start to return job references' > 003/5:[----] [--] 'block: allow backup_start to return job references' > 004/5:[down] 'block/backup: Pack Notifier within BackupBlockJob' > 005/5:[0006] [FC] 'blockjob: add Job parameter to BlockCompletionFunc' >=20 > 4: Rewritten to pack the notifier within the job, instead of the job wi= thin > a subclassed notifier. [Paolo] > 5: Remove junk assert and extraneous local BDS variable. [Kevin] >=20 > _______________________________________________________________________= _________ >=20 > For convenience, this branch is available at: > https://github.com/jnsnow/qemu.git branch block-multijob2 > https://github.com/jnsnow/qemu/tree/block-multijob2 >=20 > This version is tagged block-multijob2-v2: > https://github.com/jnsnow/qemu/releases/tag/block-multijob2-v2 >=20 > John Snow (5): > block: Allow mirror_start to return job references > block: Allow stream_start to return job references > block: allow backup_start to return job references > block/backup: Pack Notifier within BackupBlockJob > blockjob: add Job parameter to BlockCompletionFunc >=20 > block/backup.c | 58 +++++++------ > block/commit.c | 2 +- > block/mirror.c | 74 ++++++++-------- > block/stream.c | 10 ++- > blockdev.c | 210 +++++++++++++++++++++++++-------------= -------- > blockjob.c | 13 ++- > include/block/block.h | 2 + > include/block/block_int.h | 27 +++--- > include/block/blockjob.h | 6 +- > qemu-img.c | 16 ++-- > tests/test-blockjob-txn.c | 4 +- > 11 files changed, 237 insertions(+), 185 deletions(-) >=20 --=20 =97js