On 02/18/2012 12:44 PM, Eric Blake wrote:
Block job commands are not part of upstream qemu until 1.1; and
proper support of job completion and cancellation depends on being
able to receive QMP events, which implies the JSON monitor.
Additionally, some early versions of block job commands were
backported to RHEL qemu, but these versions lacked asynchronous
job cancellation and partial block pull, so there are several
patches that will still be needed in this area of libvirt code
to support both flavors of block job commands.
Due to earlier patches in libvirt, we are guaranteed that all versions
of qemu that support block job commands already require libvirt to
use the JSON monitor. That means that the text version of block jobs
will not be used, and having to refactor two copies of the block job
handlers makes no sense. So instead, we delete the text handlers.
* src/qemu/qemu_monitor.c (qemuMonitorBlockJob): Drop text monitor
support.
* src/qemu/qemu_monitor_text.h (qemuMonitorTextBlockJob): Delete.
* src/qemu/qemu_monitor_text.c (qemuMonitorTextParseBlockJobOne)
(qemuMonitorTextParseBlockJob, qemuMonitorTextBlockJob):
Likewise.
---
src/qemu/qemu_monitor.c | 9 +-
src/qemu/qemu_monitor_text.c | 175 +-----------------------------------------
src/qemu/qemu_monitor_text.h | 8 +--
3 files changed, 7 insertions(+), 185 deletions(-)
I'm sure you were very pleased with yourself for creating a diffstat
like this :-)
The reasoning behind the removal makes sense to me. ACK.