opnsense-src/sys/dev/nvmf
John Baldwin ef052adf09 nvmf: Narrow scope of sim lock in nvmf_sim_io
nvmf_submit_request() handles races with concurrent queue pair
destruction (or the queue pair being destroyed between
nvmf_allocate_request and nvmf_submit_request), so the lock is not
needed here.  This avoids holding the lock across transport-specific
logic such as queueing mbufs for PDUs to a socket buffer, etc.

Holding the lock across nvmf_allocate_request() ensures that the queue
pair pointers in the softc are still valid as shutdown attempts will
block on the lock before destroying the queue pairs.

Sponsored by:	Chelsio Communications
2024-09-25 21:14:06 -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: Narrow scope of sim lock in nvmf_sim_io 2024-09-25 21:14:06 -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