qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] vhost-scsi: Improve error reporting for invalid


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] vhost-scsi: Improve error reporting for invalid vhostfd
Date: Tue, 10 Feb 2015 17:46:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0


On 09/02/2015 11:52, Markus Armbruster wrote:
> We get two error messages: one from monitor_handle_fd_param2(), and
> another one from vhost_scsi_realize().  The second one gets suppressed
> in QMP context.
> 
> That's because monitor_handle_fd_param() calls qerror_report_err().
> Calling qerror_report_err() is always inappropriate in realize
> methods, because it doesn't return the Error object.  It either
> reports the error to stderr or the human monitor, or it stores it in
> the QMP monitor, where it makes the QMP command fail even when the
> realize method ignores the error and succeeds.  Fortunately,
> vhost_scsi_realize() doesn't do that.
> 
> Fix by switching to monitor_handle_fd_param2().
> 
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
>  hw/scsi/vhost-scsi.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c
> index dcb2bc5..567f350 100644
> --- a/hw/scsi/vhost-scsi.c
> +++ b/hw/scsi/vhost-scsi.c
> @@ -214,9 +214,11 @@ static void vhost_scsi_realize(DeviceState *dev, Error 
> **errp)
>      }
>  
>      if (vs->conf.vhostfd) {
> -        vhostfd = monitor_handle_fd_param(cur_mon, vs->conf.vhostfd);
> +        vhostfd = monitor_handle_fd_param2(cur_mon, vs->conf.vhostfd, &err);
>          if (vhostfd == -1) {
> -            error_setg(errp, "vhost-scsi: unable to parse vhostfd");
> +            error_setg(errp, "vhost-scsi: unable to parse vhostfd: %s",
> +                       error_get_pretty(err));
> +            error_free(err);
>              return;
>          }
>      } else {
> 

Acked-by: Paolo Bonzini <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]