qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] scsi-disk: Fix crash if underlying host file or


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] scsi-disk: Fix crash if underlying host file or disk returns error.
Date: Wed, 21 Nov 2018 19:31:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0

On 21/11/18 13:47, Richard W.M. Jones wrote:
> Commit 40dce4ee6 "scsi-disk: fix rerror/werror=ignore" introduced a
> bug which causes qemu to crash with the assertion error below if the
> host file or disk returns an error:
> 
>   qemu-system-x86_64: hw/scsi/scsi-bus.c:1374: scsi_req_complete:
>   Assertion `req->status == -1' failed.
> 
> Kevin Wolf suggested this fix:
> 
>   < kwolf> Hm, should the final return false; in that patch
>            actually be a return true?
>   < kwolf> Because I think he didn't intend to change anything
>            except BLOCK_ERROR_ACTION_IGNORE
> 
> Signed-off-by: Richard W.M. Jones <address@hidden>
> Buglink: https://bugs.launchpad.net/qemu/+bug/1804323
> ---
>  hw/scsi/scsi-disk.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
> index 6eb258d3f3..0e9027c8f3 100644
> --- a/hw/scsi/scsi-disk.c
> +++ b/hw/scsi/scsi-disk.c
> @@ -482,7 +482,7 @@ static bool scsi_handle_rw_error(SCSIDiskReq *r, int 
> error, bool acct_failed)
>      if (action == BLOCK_ERROR_ACTION_STOP) {
>          scsi_req_retry(&r->req);
>      }
> -    return false;
> +    return true;
>  }
>  
>  static void scsi_write_complete_noio(SCSIDiskReq *r, int ret)
> 

Looks good.  I was confused because now the function always returns
true.  "If an arm was returning true, the other must be returning false...".

Paolo



reply via email to

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