[libvirt] [PATCH] Drive hot-unplug: reliable parsing of HMP results

Ján Tomko jtomko at redhat.com
Wed Aug 12 16:42:00 UTC 2015


On Mon, Aug 10, 2015 at 05:37:30PM +0200, Frank Schreuder wrote:
> Hot-unplugging a disk from a guest that supports hot-unplugging generates an error
> in the libvirt log when running QEMU with the "-msg timestamp=on" flag.
> 
> 2015-08-06 10:48:59.945+0000: 11662: error : qemuMonitorTextDriveDel:2594 :
> operation failed: deleting drive-virtio-disk4 drive failed:
> 2015-08-06T10:48:59.945058Z Device 'drive-virtio-disk4' not found
> 
> This error is caused because the HMP results are getting prefixed with a timestamp.
> Parsing the output is not reliable with STRPREFIX as the results can be prefixed with a timestamp.
> 
> Using strstr ensures that parsing the output works whether the results are prefixed or not.
> 
> Cc: Stefan Hajnoczi <stefanha at redhat.com>
> Cc: Daniel P. Berrange <berrange at redhat.com>
> Signed-off-by: Frank Schreuder <fschreuder at transip.nl>
> ---
> 
>  src/qemu/qemu_monitor_text.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

ACK and pushed.

Jan

> diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
> index 2aa0460..d5ef089 100644
> --- a/src/qemu/qemu_monitor_text.c
> +++ b/src/qemu/qemu_monitor_text.c
> @@ -2586,7 +2586,7 @@ int qemuMonitorTextDriveDel(qemuMonitorPtr mon,
> 
>      /* (qemu) drive_del wark
>       * Device 'wark' not found */
> -    } else if (STRPREFIX(reply, "Device '") && (strstr(reply, "not found"))) {
> +    } else if (strstr(reply, "Device '") && strstr(reply, "not found")) {
>          /* NB: device not found errors mean the drive was auto-deleted and we
>           * ignore the error */
>      } else if (STRNEQ(reply, "")) {
> -- 
> 2.4.5
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150812/6bdc1bbf/attachment-0001.sig>


More information about the libvir-list mailing list