[libvirt] [PATCH] qemu: Fix media eject with qemu-0.12.*
Laine Stump
laine at laine.org
Wed Mar 30 18:16:37 UTC 2011
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.
More information about the libvir-list
mailing list