The QEMU -drive id= begins with libvirt's QEMU host drive prefix ("drive-"), which is stripped off in several places two convert between host ("-drive") and guest ("-device") device names. In the case of BlkIoTune it is unnecessary to strip the QEMU host drive prefix because we operate on "info block"/"query-block" output that uses host drive names. Stripping the prefix incorrectly caused string comparisons to fail since we were comparing the guest device name against the host device name. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> --- src/qemu/qemu_monitor_json.c | 3 --- src/qemu/qemu_monitor_text.c | 3 --- 2 files changed, 6 deletions(-) diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index 9a1f2dc..e0faacf 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -3739,9 +3739,6 @@ qemuMonitorJSONBlockIoThrottleInfo(virJSONValuePtr result, goto cleanup; } - if(STRPREFIX(current_dev, QEMU_DRIVE_HOST_PREFIX)) - current_dev += strlen(QEMU_DRIVE_HOST_PREFIX); - if (STREQ(current_dev, device)) continue; diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c index 09f2a92..0e46fd9 100644 --- a/src/qemu/qemu_monitor_text.c +++ b/src/qemu/qemu_monitor_text.c @@ -3193,9 +3193,6 @@ qemuMonitorTextParseBlockIoThrottle(const char *result, p = result; while (*p) { - if (STRPREFIX(p, QEMU_DRIVE_HOST_PREFIX)) - p += strlen(QEMU_DRIVE_HOST_PREFIX); - if (STREQLEN(p, device, devnamelen) && p[devnamelen] == ':' && p[devnamelen+1] == ' ') { -- 1.7.12.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list