[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 00/13] jobs: jobs: Job Exit Refactoring Pt 2
From: |
John Snow |
Subject: |
[Qemu-block] [PATCH v2 00/13] jobs: jobs: Job Exit Refactoring Pt 2 |
Date: |
Thu, 23 Aug 2018 18:22:36 -0400 |
This is part two of a two part series that refactors the exit logic
of jobs.
This series forces all jobs to use the "finalize" semantics that were
introduced previously, but only exposed via the backup jobs.
Patches 1-3 add plumbing for the auto-dismiss and auto-finalize flags
but do not expose these via QAPI/QMP.
Patches 4-7 refactor the .exit() callbacks into the component pieces
of .prepare(), .commit(), .abort() and .clean(). Except mirror, which
I cheat with.
Patch 8 removes the last usage of .exit() in a test.
Patch 9 removes the callback and the machinery to invoke it.
Patches 10-12 expose the new QMP options to all of the jobs.
Patch 13 is a doc fixup.
"V2":
- Split off the first part of the series to Pt.1
- More aggressively refactored .commit()
- Went all the way to deleting .exit() callback (Kevin)
John Snow (13):
block/commit: add block job creation flags
block/mirror: add block job creation flags
block/stream: add block job creation flags
block/commit: refactor commit to use job callbacks
block/mirror: conservative mirror_exit refactor
block/commit: refactor stream to use job callbacks
tests/blockjob: replace Blockjob with Job
tests/test-blockjob: remove exit callback
jobs: remove .exit callback
qapi/block-commit: expose new job properties
qapi/block-mirror: expose new job properties
qapi/block-stream: expose new job properties
block/backup: qapi documentation fixup
block/commit.c | 95 +++++++++++++++++++++-----------------
block/mirror.c | 31 ++++++++++---
block/stream.c | 28 ++++++++----
blockdev.c | 44 ++++++++++++++++--
hmp.c | 5 +-
include/block/block_int.h | 15 ++++--
include/qemu/job.h | 11 -----
job.c | 77 ++++++++++++++-----------------
qapi/block-core.json | 80 +++++++++++++++++++++++++++-----
tests/test-blockjob-txn.c | 4 +-
tests/test-blockjob.c | 114 +++++++++++++++++++++++-----------------------
11 files changed, 309 insertions(+), 195 deletions(-)
--
2.14.4
- [Qemu-block] [PATCH v2 00/13] jobs: jobs: Job Exit Refactoring Pt 2,
John Snow <=
- [Qemu-block] [PATCH v2 06/13] block/commit: refactor stream to use job callbacks, John Snow, 2018/08/23
- [Qemu-block] [PATCH v2 07/13] tests/blockjob: replace Blockjob with Job, John Snow, 2018/08/23
- [Qemu-block] [PATCH v2 08/13] tests/test-blockjob: remove exit callback, John Snow, 2018/08/23
- [Qemu-block] [PATCH v2 04/13] block/commit: refactor commit to use job callbacks, John Snow, 2018/08/23
- [Qemu-block] [PATCH v2 03/13] block/stream: add block job creation flags, John Snow, 2018/08/23