On 03/29/2011 10:10 AM, Jiri Denemark wrote:
In qemu-0.12.* "device '...' is locked" message was changed to "Device
..." so libvirt was no longer detecting this as an error.
---
  bootstrap.conf               |    1 +
  src/qemu/qemu_monitor_text.c |    2 +-
  2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/bootstrap.conf b/bootstrap.conf
index 6070204..6e10828 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -63,6 +63,7 @@ sigpipe
  snprintf
  socket
  stpcpy
+strcasestr
  strchrnul
  strndup
  strerror
diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
index 75b2995..7ebe62e 100644
--- a/src/qemu/qemu_monitor_text.c
+++ b/src/qemu/qemu_monitor_text.c
@@ -934,7 +934,7 @@ int qemuMonitorTextEjectMedia(qemuMonitorPtr mon,
      /* If the command failed qemu prints:
       * device not found, device is locked ...
       * No message is printed on success it seems */
-    if (strstr(reply, "device ")) {
+    if (strcasestr(reply, "device ")) {
          qemuReportError(VIR_ERR_OPERATION_FAILED,
                          _("could not eject media on %s: %s"), devname, reply);
          goto cleanup;

Even though strcasestr is a non-standard function, you're using gnulib for it, so that shouldn't be a problem. And your change will work for both old and new qemus.

ACK.

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to