Page MenuHomeFreeBSD

bhyve/virtio-scsi: implement task management functions
Needs ReviewPublic

Authored by rosenfeld_grumpf.hope-2000.org on Mon, Oct 20, 5:46 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 13, 1:31 AM
Unknown Object (File)
Mon, Nov 10, 7:04 PM
Unknown Object (File)
Thu, Nov 6, 2:18 PM
Unknown Object (File)
Mon, Nov 3, 5:44 PM
Unknown Object (File)
Fri, Oct 31, 4:19 AM
Unknown Object (File)
Fri, Oct 31, 12:21 AM
Unknown Object (File)
Thu, Oct 30, 11:12 PM
Unknown Object (File)
Thu, Oct 30, 11:09 PM
Subscribers

Details

Reviewers
jhb
corvink
markj
Group Reviewers
bhyve
Summary

Currently, all I/O requests are queued internally, and a number of
threads will pick I/O requests of the queue and send them to CTL with
a synchronous CTL_IO ioctl. On the other hand, TMF requests are sent
to CTL immediately using the same synchronous ioctl.

Besides being unworkable for non-CTL backends such as for SCSI
passthrough, this simple approach may easily run into situations
where a TMF request operating on a particular I/O request is sent
to CTL while it is still on our queue and thus unknown to CTL.
In addition, for target and/or LUN resets we should really clear
our queue and return all outstanding I/O requests with a proper
status.

This is currently also under review in illumos: https://code.illumos.org/c/illumos-gate/+/4424

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 68276
Build 65159: arc lint + arc unit

Event Timeline

Reword comment in pci_vtscsi_tmf_handle().