opnsense-src/sys/dev/nvmf
John Baldwin aec2ae8b57 nvmf: Always use xpt_done instead of xpt_done_direct
The last reference on a pending I/O request might be held by an mbuf
in the socket buffer.  When this mbuf is freed, the I/O request is
completed which triggers completion of the CCB.  However, this can
occur with locks held (e.g. with so_snd locked when the mbuf is freed
by sbdrop()) raising a LOR between so_snd and the CAM device lock.
Instead, defer CCB completion processing to a thread where locks are
not held.

Sponsored by:	Chelsio Communications
2024-09-25 21:10:44 -04:00
..
controller ctl: Move extern for control_softc into <cam/ctl/ctl_private.h> 2024-09-25 10:21:18 -04:00
host nvmf: Always use xpt_done instead of xpt_done_direct 2024-09-25 21:10:44 -04:00
nvmf.h nvmf.h: New header defining ioctls for NVMe over Fabrics 2024-05-02 16:27:13 -07:00
nvmf_proto.h nvmf: Add explicit alignment for struct nvmf_fabric_cmd 2024-05-06 15:19:39 -07:00
nvmf_tcp.c nvmf_tcp: Fully honor kern.nvmf.tcp.max_transmit_data for C2H_DATA PDUs 2024-09-05 17:14:36 -04:00
nvmf_tcp.h nvmf_tcp: Don't require a data digest for PDUs without data 2024-07-22 17:05:55 -04:00
nvmf_transport.c nvmf_transport: Remove invalid assertion 2024-05-10 09:13:40 -07:00
nvmf_transport.h nvmf: Add infrastructure kernel module for NVMe over Fabrics 2024-05-02 16:28:32 -07:00
nvmf_transport_internal.h nvmf: Add infrastructure kernel module for NVMe over Fabrics 2024-05-02 16:28:32 -07:00