[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] qemu: Fix media eject with qemu-0.12.*



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.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]