From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aImwh-0001R0-Ch for qemu-devel@nongnu.org; Mon, 11 Jan 2016 19:36:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aImwg-0000BX-AG for qemu-devel@nongnu.org; Mon, 11 Jan 2016 19:36:23 -0500 From: John Snow Date: Mon, 11 Jan 2016 19:36:07 -0500 Message-Id: <1452558972-20316-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [PATCH 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, John Snow , armbru@redhat.com, qemu-devel@nongnu.org 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. The goal is to eventually eliminate all of them and allow multiple block jobs to run concurrently, but design on what that will look like is on-going. 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. ________________________________________________________________________________ For convenience, this branch is available at: https://github.com/jnsnow/qemu.git branch block-multijob2 https://github.com/jnsnow/qemu/tree/block-multijob2 This version is tagged block-multijob2-v1: https://github.com/jnsnow/qemu/releases/tag/block-multijob2-v1 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: Add subclassed notifier blockjob: add Job parameter to BlockCompletionFunc block/backup.c | 68 +++++++++------ 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, 250 insertions(+), 182 deletions(-) -- 2.4.3