This is the next version of RFC [1] 'drop nested job concept'. Actually
it is quite different from the first. Patches that accomodate callers to
use functions to enter/exit monitor with without driver and asyncJob arguments
are moved out of this series. I guess this can be done as soon as this series
is upstream. Most of approach details are in the first patch.
Pros:
- better async job and concurrent regular job isolation
- more straightforward implementation
- more simple to use - no need to pass async job argument down the stack
- safer to use - no warnings to be fixed if function is started to be
used from asynchronous job context.
TODO:
- replace qemuDomainObjEnterMonitorAsync with qemuDomainObjEnterMonitor
- accomodate callers to qemuDomainObjExitMonitor became returning void
- remove passing driver and asyncJob down the stack
- reflect changes in THREADS.txt
[1]
https://www.redhat.com/archives/libvir-list/2016-November/msg01357.html
Nikolay Shirokovskiy (4):
qemu: replace nested job with interruptible async job state
qemu: remove liveness check from qemuDomainObjExitMonitor
qemu: remove nesting job usage from qemuProcessStop
qemu: remove the rest of nested job parts
src/conf/domain_conf.c | 19 ----
src/conf/domain_conf.h | 1 -
src/libvirt_private.syms | 1 -
src/qemu/qemu_domain.c | 253 +++++++++++++++++++++++++++++-----------------
src/qemu/qemu_domain.h | 29 ++++--
src/qemu/qemu_driver.c | 2 +-
src/qemu/qemu_migration.c | 70 +++++++------
src/qemu/qemu_process.c | 31 ++----
8 files changed, 225 insertions(+), 181 deletions(-)
--
1.8.3.1