aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/nvmf/controller/ctl_frontend_nvmf.c
Commit message (Collapse)AuthorAgeFilesLines
* nvmft: Export more info for a ctl port for use by ctladmJohn Baldwin2025-02-201-0/+26
| | | | | | | | | In particular, export a "port" entry as well as an array of "host" entries for each active connection. Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48775
* nvmft: Switch the per-port lock from sx(9) to mtx(9)John Baldwin2025-02-201-25/+33
| | | | | | This is needed to avoid LORs for a following commit. Sponsored by: Chelsio Communications
* nvmft: Don't offline a port being removed if it is already offlineJohn Baldwin2025-01-311-1/+7
| | | | | | | This is generally harmless but can trigger spurious warnings on the console due to duplicate attempts to disable LUNs. Sponsored by: Chelsio Communications
* nvmf: Switch several ioctls to using nvlistsJohn Baldwin2024-12-301-15/+43
| | | | | | | | | | | | | | | | | For requests that handoff queues from userspace to the kernel as well as the request to fetch reconnect parameters from the kernel, switch from using flat structures to nvlists. In particular, this will permit adding support for additional transports in the future without breaking the ABI of the structures. Note that this is an ABI break for the ioctls used by nvmf(4) and nvmft(4). Since this is only present in main I did not bother implementing compatability shims. Inspired by: imp (suggestion on a different review) Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48230
* nvmft: Fix typo in error message if an I/O queue fails to handoffJohn Baldwin2024-12-281-1/+1
| | | | Sponsored by: Chelsio Communications
* ctl: Move extern for control_softc into <cam/ctl/ctl_private.h>John Baldwin2024-09-251-2/+0
| | | | | | Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D46778
* nvmft: Defer datamove operations to a pool of taskqueue threadsJohn Baldwin2024-09-241-2/+50
| | | | | | | | | | | Some block devices may request datamove operations from an ithread context while holding locks. Queue datamove operations to a taskqueue backed by a thread pool to safely permit blocking allocations, etc. in datamove handling. Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D46551
* nvmft: The in-kernel NVMe over Fabrics controllerJohn Baldwin2024-05-021-0/+1123
This is the server (target in SCSI terms) for NVMe over Fabrics. Userland is responsible for accepting a new queue pair and receiving the initial Connect command before handing the queue pair off via an ioctl to this CTL frontend. This frontend exposes CTL LUNs as NVMe namespaces to remote hosts. Users can ask LUNS to CTL that can be shared via either iSCSI or NVMeoF. Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D44726