4d3b659f | 11-Nov-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Track SQ flow control
This isn't really needed since the host driver never submits more commands to a queue than it can hold, but I noticed that the recently-added SQ head and tail sysctl node
nvmf: Track SQ flow control
This isn't really needed since the host driver never submits more commands to a queue than it can hold, but I noticed that the recently-added SQ head and tail sysctl nodes were not updating. This fixes that and also uses these values to assert that there we never submit a command while a queue pair is full.
Sponsored by: Chelsio Communications
show more ...
|
ef052adf | 26-Sep-2024 |
John Baldwin <jhb@FreeBSD.org> |
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_sub
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
show more ...
|
f46d4971 | 05-Jun-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Handle shutdowns more gracefully
If an association is disconnected during a clean shutdown, abort all pending and future I/O requests with an error to avoid hangs either due to filesystem unmo
nvmf: Handle shutdowns more gracefully
If an association is disconnected during a clean shutdown, abort all pending and future I/O requests with an error to avoid hangs either due to filesystem unmounts or a stuck GEOM event.
If an association is connected during a clean shutdown, gracefully disconnect from the remote controller and close the open queues.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D45462
show more ...
|
aacaeeee | 05-Jun-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Permit failing I/O requests while disconnected
Add a kern.nvmf.fail_on_disconnection sysctl similar to the kern.iscsi.fail_on_disconnection sysctl. This causes pending I/O requests to fail wi
nvmf: Permit failing I/O requests while disconnected
Add a kern.nvmf.fail_on_disconnection sysctl similar to the kern.iscsi.fail_on_disconnection sysctl. This causes pending I/O requests to fail with an error if an association is disconnected instead of requeueing to be retried once the association is reconnected. As with iSCSI, the default is to queue and retry operations.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D45308
show more ...
|
e140f85d | 05-Jun-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Rescan namespaces after reconnecting
While a host was disconnected from a remote controller, namespaces might have been added, removed, or altered properties. Rescan the namespaces after reco
nvmf: Rescan namespaces after reconnecting
While a host was disconnected from a remote controller, namespaces might have been added, removed, or altered properties. Rescan the namespaces after reconnecting to detect any such changes.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D45461
show more ...
|
f6d434f1 | 05-Jun-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Rescan all namespaces if the changed NS log page is too large
Previously this just punted with a warning message.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision:
nvmf: Rescan all namespaces if the changed NS log page is too large
Previously this just punted with a warning message.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D45460
show more ...
|
8a082ca8 | 05-Jun-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Factor out most of nvmf_rescan_ns into a helper routine
This function accepts a namespace ID and associated namespace data from IDENTIFY and takes care of updating nvmeXnY and ndaZ.
Reviewed
nvmf: Factor out most of nvmf_rescan_ns into a helper routine
This function accepts a namespace ID and associated namespace data from IDENTIFY and takes care of updating nvmeXnY and ndaZ.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D45459
show more ...
|
02ddb305 | 05-Jun-2024 |
John Baldwin <jhb@FreeBSD.org> |
nvmf: Refactor nvmf_add_namespaces to be more generic
Rename to nvmf_scan_active_namespaces and accept an additional callback function and callback argument. The callback is invoked on each active
nvmf: Refactor nvmf_add_namespaces to be more generic
Rename to nvmf_scan_active_namespaces and accept an additional callback function and callback argument. The callback is invoked on each active namespace enumerated by the active namespace list from the IDENTIFY command.
Reviewed by: imp Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D45458
show more ...
|