[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 0/5] block: reduce reliance on bs->job pointer
From: |
John Snow |
Subject: |
[Qemu-devel] [PATCH v2 0/5] block: reduce reliance on bs->job pointer |
Date: |
Tue, 26 Jan 2016 18:54:54 -0500 |
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.
===
v2:
===
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
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'
4: Rewritten to pack the notifier within the job, instead of the job within
a subclassed notifier. [Paolo]
5: Remove junk assert and extraneous local BDS variable. [Kevin]
________________________________________________________________________________
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-v2:
https://github.com/jnsnow/qemu/releases/tag/block-multijob2-v2
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
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(-)
--
2.4.3
- [Qemu-devel] [PATCH v2 0/5] block: reduce reliance on bs->job pointer,
John Snow <=
- [Qemu-devel] [PATCH v2 2/5] block: Allow stream_start to return job references, John Snow, 2016/01/26
- [Qemu-devel] [PATCH v2 1/5] block: Allow mirror_start to return job references, John Snow, 2016/01/26
- [Qemu-devel] [PATCH v2 3/5] block: allow backup_start to return job references, John Snow, 2016/01/26
- [Qemu-devel] [PATCH v2 4/5] block/backup: Pack Notifier within BackupBlockJob, John Snow, 2016/01/26
- [Qemu-devel] [PATCH v2 5/5] blockjob: add Job parameter to BlockCompletionFunc, John Snow, 2016/01/26