History log of /haiku/src/add-ons/kernel/busses/scsi/virtio/VirtioSCSIRequest.cpp
Revision Date Author Comments
# 66d6afec 31-Aug-2019 Michael Lotz <mmlr@mlotz.ch>

virtio_scsi: Abort requests on timeout.

Previously the CCB would never complete when a timeout occured, leading
to all further IO stopping.

Abort the request by setting the CCB status to aborted and handing the
CCB back to the SCSI layer. That one will then handle the error (and
possibly retrying). This is similar to how such errors are handled in
AHCI and the ATA stack.

Since it is now possible that we receive a completion interrupt for an
already aborted request, we need to keep track of what request the
interrupts belong to and only notify when the current one completes. As
there currently can't be multiple requests in flight, a simple counter
is used.

Change-Id: Ib80e146605efd2f81123803f424cc7f66f52a6c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1815
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 26c0b5e7 31-Aug-2019 Michael Lotz <mmlr@mlotz.ch>

virtio_scsi: Fix theoretical use of possibly modified fCCB.

As soon as the lock is released, fCCB may change due to a new Start().
With the current use of the request class this could not happen, so
this is purely theoretical.

Change-Id: I6caee7f904f1864621aeef088e2bd611eb3b0a1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1813
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# d2fecacd 31-Aug-2019 Michael Lotz <mmlr@mlotz.ch>

virtio_scsi: Whitespace and line length cleanup only.

Change-Id: I12efb32c9222b9397bc44be927f37700e030e89a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1811
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 3aeed660 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# 426c95e5 09-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

CID 1108333, 1108192, 1108443

* 1108333 Out-of-bounds access
* 1108192 Operands don't affect result
* 1108443 Uninitialized pointer field


# 2f2f475b 18-Jul-2013 Jérôme Duval <jerome.duval@gmail.com>

virtio*: remove trailing spaces


# 82fda49e 02-Jul-2013 Jérôme Duval <jerome.duval@gmail.com>

Virtio: added a driver with basic support for SCSI devices.

* Here is the Qemu command line option for Virtio SCSI devices:
-drive if=none,id=hd,file=haiku.image -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd
* virtio_scsi.h is copied unchanged from FreeBSD, except for the _PACKED directive.


# 3aeed6607cd07762c0e709633c012b3a632dbad9 07-Aug-2014 Jérôme Duval <jerome.duval@gmail.com>

include strings.h where appriopriate...

instead or additionally to string.h, in preparation for functions move.
* moves str[n]casecmp() functions and others to strings.h.
* strings.h doesn't include string.h anymore.
* this solves #10949


# 426c95e5b0b5555ed31e220df2e8d24354915b5b 09-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

CID 1108333, 1108192, 1108443

* 1108333 Out-of-bounds access
* 1108192 Operands don't affect result
* 1108443 Uninitialized pointer field


# 2f2f475b1d35e32e2afdefe624686d8ab5936c35 18-Jul-2013 Jérôme Duval <jerome.duval@gmail.com>

virtio*: remove trailing spaces


# 82fda49e52a6d4fe217de033c350fee60ce56bff 02-Jul-2013 Jérôme Duval <jerome.duval@gmail.com>

Virtio: added a driver with basic support for SCSI devices.

* Here is the Qemu command line option for Virtio SCSI devices:
-drive if=none,id=hd,file=haiku.image -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd
* virtio_scsi.h is copied unchanged from FreeBSD, except for the _PACKED directive.