For virQEMUCapsInitQMPMonitor I didn't find other way to check the capability than to check the version, and virQEMUCapsComputeCmdFlags is not call when qemu use QMP(or I've miss how to call it). I don't understand how i should change this patch, can you explain it to me please ? On Fri, Sep 19, 2014 at 1:11 PM, Michal Privoznik <mprivozn@xxxxxxxxxx> wrote: > On 15.09.2014 19:27, Matthias Gatto wrote: >> >> Add a value in the enum virQEMUCapsFlags for the qemu capability. >> Set it with virQEMUCapsSet if the binary suport bps_max and they friends. >> >> Signed-off-by: Matthias Gatto <matthias.gatto@xxxxxxxxxxxx> >> --- >> src/qemu/qemu_capabilities.c | 6 ++++++ >> src/qemu/qemu_capabilities.h | 1 + >> 2 files changed, 7 insertions(+) >> >> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c >> index 360cc67..a97ca03 100644 >> --- a/src/qemu/qemu_capabilities.c >> +++ b/src/qemu/qemu_capabilities.c >> @@ -265,6 +265,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST, >> "numa", >> "memory-backend-file", >> "usb-audio", >> + "drive-iotune-max", >> ); >> >> >> @@ -1063,6 +1064,8 @@ virQEMUCapsComputeCmdFlags(const char *help, >> virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_COPY_ON_READ); >> if (strstr(help, "bps=")) >> virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE); >> + if (strstr(help, "bps_max=")) >> + virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX); >> } >> if ((p = strstr(help, "-vga")) && !strstr(help, "-std-vga")) { >> const char *nl = strstr(p, "\n"); >> @@ -3141,6 +3144,9 @@ virQEMUCapsInitQMPMonitor(virQEMUCapsPtr qemuCaps, >> if (qemuCaps->version >= 1006000) >> virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY); >> >> + if (qemuCaps->version >= 1007000) >> + virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX); >> + > > > What's wrong with just the above chunk? I mean, version based checks are not > good. I'd just drop this one. > > >> if (virQEMUCapsProbeQMPCommands(qemuCaps, mon) < 0) >> goto cleanup; >> if (virQEMUCapsProbeQMPEvents(qemuCaps, mon) < 0) >> diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h >> index 2911759..394a836 100644 >> --- a/src/qemu/qemu_capabilities.h >> +++ b/src/qemu/qemu_capabilities.h >> @@ -213,6 +213,7 @@ typedef enum { >> QEMU_CAPS_NUMA = 171, /* newer -numa handling with >> disjoint cpu ranges */ >> QEMU_CAPS_OBJECT_MEMORY_FILE = 172, /* -object memory-backend-file >> */ >> QEMU_CAPS_OBJECT_USB_AUDIO = 173, /* usb-audio device support */ >> + QEMU_CAPS_DRIVE_IOTUNE_MAX = 174, /* -drive bps_max= and friends */ >> >> QEMU_CAPS_LAST, /* this must always be the last >> item */ >> } virQEMUCapsFlags; >> > > Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list