xemu/hw/scsi
Kevin Wolf 622a70161a scsi-block: Don't skip callback for sgio error status/driver_status
Instead of calling into scsi_handle_rw_error() directly from
scsi_block_sgio_complete() and skipping the normal callback, go through
the normal cleanup path by calling the callback with a positive error
value.

The important difference here is not only that the code path is cleaner,
but that the callbacks set r->req.aiocb = NULL. If we skip setting this
and the error action is BLOCK_ERROR_ACTION_STOP, resuming the VM runs
into an assertion failure in scsi_read_data() or scsi_write_data()
because the dangling aiocb pointer is unexpected.

Fixes: a108557bbf ("scsi: inline sg_io_sense_from_errno() into the callers.")
Buglink: https://issues.redhat.com/browse/RHEL-50000
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20240731123207.27636-3-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2024-08-06 20:12:39 +02:00
..
Kconfig hw/scsi: Introduce VHOST_SCSI_COMMON symbol in Kconfig 2023-06-23 02:54:44 -04:00
emulation.c scsi-generic: avoid invalid access to struct when emulating block limits 2018-11-06 21:35:06 +01:00
esp-pci.c hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued 2024-01-19 12:28:59 +01:00
esp.c util/fifo8: Introduce fifo8_drop() 2024-07-23 22:34:54 +02:00
lsi53c895a.c hw/scsi/lsi53c895a: bump instruction limit in scripts processing to fix regression 2024-07-16 18:18:24 +02:00
megasas.c hw/scsi: Constify VMState 2023-12-30 07:38:06 +11:00
meson.build hw/virtio: Build various target-agnostic objects just once 2023-06-23 02:54:44 -04:00
mfi.h hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
mpi.h hw: Add support for LSI SAS1068 (mptsas) device 2016-02-09 15:45:26 +01:00
mptconfig.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
mptendian.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
mptsas.c hw/scsi: Constify VMState 2023-12-30 07:38:06 +11:00
mptsas.h include/hw/pci: Split pci_device.h off pci.h 2023-01-08 01:54:22 -05:00
scsi-bus.c scsi: fix regression and honor bootindex again for legacy drives 2024-07-16 18:18:24 +02:00
scsi-disk.c scsi-block: Don't skip callback for sgio error status/driver_status 2024-08-06 20:12:39 +02:00
scsi-generic.c hw/scsi/scsi-generic: Fix io_timeout property not applying 2024-03-26 14:24:06 +01:00
spapr_vscsi.c hw/scsi: Constify VMState 2023-12-30 07:38:06 +11:00
srp.h spapr-vscsi: add task management 2013-09-12 08:46:21 +02:00
trace-events hw/scsi/lsi53c895a: add timer to scripts processing 2024-03-08 15:51:21 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-scsi-common.c vhost-user-scsi: support reconnect to backend 2023-10-22 05:18:17 -04:00
vhost-scsi.c vhost,vhost-user: Add VIRTIO_F_IN_ORDER to vhost feature bits 2024-07-21 14:45:56 -04:00
vhost-user-scsi.c vhost,vhost-user: Add VIRTIO_F_IN_ORDER to vhost feature bits 2024-07-21 14:45:56 -04:00
viosrp.h Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
virtio-scsi-dataplane.c Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
virtio-scsi.c virtio-scsi: Attach event vq notifier with no_poll 2024-02-07 21:50:32 +01:00
vmw_pvscsi.c hw/scsi: Constify VMState 2023-12-30 07:38:06 +11:00
vmw_pvscsi.h scsi: VMWare PVSCSI paravirtual device implementation 2013-04-19 10:44:17 +02:00