[libvirt] [PATCH 2/2] Fix QEMU text monitor command error checking

Daniel Veillard veillard at redhat.com
Thu Apr 22 16:00:33 UTC 2010


On Thu, Apr 22, 2010 at 04:49:01PM +0100, Daniel P. Berrange wrote:
> The text monitor code was checking for a '\n' prefix on several
> places. Previously this would work, but since the monitor code
> re-write the '\n' is already stripped off, so mustn't be checked
> for.
> 
> * src/qemu/qemu_monitor_text.c: Fix monitor error checking
> ---
>  src/qemu/qemu_monitor_text.c |   14 +++++++-------
>  1 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
> index db3806d..4c8c108 100644
> --- a/src/qemu/qemu_monitor_text.c
> +++ b/src/qemu/qemu_monitor_text.c
> @@ -787,7 +787,7 @@ int qemuMonitorTextSetBalloon(qemuMonitorPtr mon,
>  
>      /* If the command failed qemu prints: 'unknown command'
>       * No message is printed on success it seems */
> -    if (strstr(reply, "\nunknown command:")) {
> +    if (strstr(reply, "unknown command:")) {
>          /* Don't set error - it is expected memory balloon fails on many qemu */
>          ret = 0;
>      } else {
> @@ -816,7 +816,7 @@ int qemuMonitorTextSetCPU(qemuMonitorPtr mon, int cpu, int online)
>  
>      if (qemuMonitorCommand(mon, cmd, &reply) < 0) {
>          qemuReportError(VIR_ERR_OPERATION_FAILED,
> -                        "%s", _("could nt change CPU online status"));
> +                        "%s", _("could not change CPU online status"));
>          VIR_FREE(cmd);
>          return -1;
>      }
> @@ -824,7 +824,7 @@ int qemuMonitorTextSetCPU(qemuMonitorPtr mon, int cpu, int online)
>  
>      /* If the command failed qemu prints: 'unknown command'
>       * No message is printed on success it seems */
> -    if (strstr(reply, "\nunknown command:")) {
> +    if (strstr(reply, "unknown command:")) {
>          /* Don't set error - it is expected CPU onlining fails on many qemu - caller will handle */
>          ret = 0;
>      } else {
> @@ -857,7 +857,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, "\ndevice ")) {
> +    if (strstr(reply, "device ")) {
>          qemuReportError(VIR_ERR_OPERATION_FAILED,
>                          _("could not eject media on %s: %s"), devname, reply);
>          goto cleanup;
> @@ -901,14 +901,14 @@ int qemuMonitorTextChangeMedia(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, "\ndevice ")) {
> +    if (strstr(reply, "device ")) {
>          qemuReportError(VIR_ERR_OPERATION_FAILED,
>                          _("could not eject media on %s: %s"), devname, reply);
>          goto cleanup;
>      }
>  
>      /* Could not open message indicates bad filename */
> -    if (strstr(reply, "\nCould not open ")) {
> +    if (strstr(reply, "Could not open ")) {
>          qemuReportError(VIR_ERR_OPERATION_FAILED,
>                          _("could not change media on %s: %s"), devname, reply);
>          goto cleanup;
> @@ -2291,7 +2291,7 @@ int qemuMonitorTextSetDrivePassphrase(qemuMonitorPtr mon,
>          goto cleanup;
>      }
>  
> -    if (strstr(reply, "\nunknown command:")) {
> +    if (strstr(reply, "unknown command:")) {
>          qemuReportError(VIR_ERR_OPERATION_FAILED, "%s",
>                          _("setting disk password is not supported"));
>          goto cleanup;

  Including a typo cleanup too,

ACK

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list