• E
    blockjob: split out block info monitor handling · ced81365
    Eric Blake 提交于
    Another layer of overly-multiplexed code that deserves to be
    split into obviously separate paths for query vs. modify.
    This continues the cleanup started in commit cefe0ba3.
    
    In the process, make some tweaks to simplify the logic when
    parsing the JSON reply.  There should be no user-visible
    semantic changes.
    
    * src/qemu/qemu_monitor.h (qemuMonitorBlockJob): Drop parameter.
    (qemuMonitorBlockJobInfo): New prototype.
    (BLOCK_JOB_INFO): Drop enum.
    * src/qemu/qemu_monitor_json.h (qemuMonitorJSONBlockJob)
    (qemuMonitorJSONBlockJobInfo): Likewise.
    * src/qemu/qemu_monitor.c (qemuMonitorBlockJob): Split...
    (qemuMonitorBlockJobInfo): ...into second function.
    * src/qemu/qemu_monitor_json.c (qemuMonitorJSONBlockJob): Move
    block info portions...
    (qemuMonitorJSONGetBlockJobInfo): ...here, and rename...
    (qemuMonitorJSONBlockJobInfo): ...and export.
    (qemuMonitorJSONGetBlockJobInfoOne): Alter return semantics.
    * src/qemu/qemu_driver.c (qemuDomainBlockPivot)
    (qemuDomainBlockJobImpl, qemuDomainGetBlockJobInfo): Adjust
    callers.
    * src/qemu/qemu_migration.c (qemuMigrationDriveMirror)
    (qemuMigrationCancelDriveMirror): Likewise.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    ced81365
qemu_monitor.h 33.5 KB