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(a)redhat.com>
---
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