Description of problem:
QEMU added job-finalize and job-dismiss for jobs to allow libvirt more explicit control over when and how graphs get manipulated. However, this functionality was only exposed for the backup job.
Libvirt needs this for ALL jobs.
Version-Release number of selected component (if applicable):
2.12.0, 7.6's version
100%; the options are not present in QAPI
Steps to Reproduce:
1. Try to use auto-dismiss or auto-finalize parameters for the mirror, commit, or stream jobs
Wailing, gnashing of teeth
auto-finalize = false should allow jobs to sit in the PENDING state until the job-finalize command is sent to instruct them to perform their graph changes.
auto-dismiss = false should allow jobs to sit in the CONCLUDED state until they are dismissed with the job-dismiss command, which allows libvirt a chance to query their completion state in case libvirt missed the completion event.
Pt 1/2 https://lists.gnu.org/archive/html/qemu-devel/2018-08/msg06188.html
Pt 2/2 https://lists.gnu.org/archive/html/qemu-devel/2018-09/msg00647.html
Pt 1/2 staged https://git.xanclic.moe/XanClic/qemu/commits/branch/block
Pt 2/2 pending [...]
Fix included in qemu-kvm-rhev-2.12.0-15.el7
Created attachment 1483321 [details]
Verify the bug with both old and new block job related commands.
Created attachment 1483322 [details]
The qemu version for the verification is qemu-kvm-rhev-2.12.0-15.el7.x86_64.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.