Skip to content

Commit

Permalink
scsi-disk: Fix crash if underlying host file or disk returns error
Browse files Browse the repository at this point in the history
Commit 40dce4e "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

Buglink: https://bugs.launchpad.net/qemu/+bug/1804323
Fixes: 40dce4e
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
  • Loading branch information
rwmjones authored and kevmw committed Nov 22, 2018
1 parent 3ecd5a4 commit 1c7f618
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion hw/scsi/scsi-disk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 1c7f618

Please sign in to comment.