• E
    blockjob: add new monitor json conversions · fcbeb2e9
    Eric Blake 提交于
    The previous patch hoisted some bounds checks to the callers;
    but someone that is not aware of the hoisted check could now
    try passing an integer between LLONG_MAX and ULLONG_MAX.  As a
    safety measure, add new json conversion modes that let libvirt
    error out early instead of pass bad numbers to qemu, if the
    caller ever makes a mistake due to later refactoring.
    
    Convert the various blockjob QMP calls to use the new modes,
    and switch some of them to be optional (QMP has always supported
    an omitted "speed" the same as "speed":0, for everything except
    block-job-set-speed).
    
    * src/qemu/qemu_monitor_json.c (qemuMonitorJSONMakeCommandRaw):
    Add 'j'/'y' and 'J'/'Y' to error out on negative input.
    (qemuMonitorJSONDriveMirror, qemuMonitorJSONBlockCommit)
    (qemuMonitorJSONBlockJob): Use it.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    fcbeb2e9
qemu_monitor_json.c 174.2 KB