| Age | Commit message (Collapse) | Author |
|
Sponsored by: Chelsio Communications
|
|
Reviewed by: adrian, imp
Differential Revision: https://reviews.freebsd.org/D53254
|
|
This moves the checks previously under #ifdef STRICT in
nvmf_nqn_valid() into a separate helper for userland. This
requires that the NQN starts with "nqn.YYYY-MM." followed by at
least one additional character.
Reviewed by: asomers
Differential Revision: https://reviews.freebsd.org/D48767
|
|
The received command capsule was not freed after sending the success
response.
Fixes: a15f7c96a276 ("nvmft: The in-kernel NVMe over Fabrics controller")
Sponsored by: Chelsio Communications
|
|
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
|
|
This is needed to avoid LORs for a following commit.
Sponsored by: Chelsio Communications
|
|
This is generally harmless but can trigger spurious warnings on the
console due to duplicate attempts to disable LUNs.
Sponsored by: Chelsio Communications
|
|
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
|
|
Sponsored by: Chelsio Communications
|
|
Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D46778
|
|
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
|
|
Sponsored by: Chelsio Communications
|
|
If the transport fails to create a queue pair, fail with an error
rather than dereferencing a NULL pointer.
Sponsored by: Chelsio Communications
|
|
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
|
|
This includes functions to validate NVMe Qualified Names, compute an
initial value of the CAP property, validate changes to the CC
property, and populate the Identify Controller data structure for an
I/O controller.
Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44709
|