[PATCH v3 0/3] Handle number of queue changes
Daniel Wagner
dwagner at suse.de
Wed Aug 31 02:05:05 PDT 2022
On Mon, Aug 29, 2022 at 11:44:41AM -0700, James Smart wrote:
> Since you're in the area....
>
> I recommend adding something to ensure that after a reconnect that if I/O
> queues were present in the prior association, the new controller must return
> support for at least 1 io queue or the reconnect fails and retries. This was
> a bug we hit on a subsystem in FC.
I suppose this is the fix for the problem you describe:
834d3710a093 ("nvme-fc: reject reconnect if io queue count is reduced to zero")
A test with v4 gives this
nvmet: adding nsid 1 to subsystem blktests-subsystem-1
nvmet_tcp: enabling port 0 (127.0.0.1:4420)
nvmet: creating nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:.
nvme nvme1: creating 8 I/O queues.
nvme nvme1: mapped 8/0/0 default/read/poll queues.
nvme nvme1: new ctrl: NQN "blktests-subsystem-1", addr 127.0.0.1:4420
nvmet: remove subystem from port
nvme nvme1: failed to send request -32
nvme nvme1: failed nvme_keep_alive_end_io error=4
nvme nvme1: starting error recovery
nvme nvme1: Reconnecting in 10 seconds...
nvmet: set qid_max to 0
nvmet_tcp: enabling port 0 (127.0.0.1:4420)
nvmet: creating nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:.
nvme nvme1: creating 1 I/O queues.
nvmet: invalid queue id (1)
nvme nvme1: Connect Invalid SQE Parameter, qid 1
nvme nvme1: failed to connect queue: 1 ret=16770
nvme nvme1: Failed reconnect attempt 1
nvme nvme1: Reconnecting in 10 seconds...
nvmet: remove subsystem from port
nvme nvme1: failed to connect socket: -111
nvme nvme1: Failed reconnect attempt 2
nvme nvme1: Reconnecting in 10 seconds...
nvmet: set qid_max to 2
nvmet_tcp: enabling port 0 (127.0.0.1:4420)
nvmet: creating nvm controller 1 for subsystem blktests-subsystem-1 for NQN nqn.2014-08.org.nvmexpress:uuid:.
nvme nvme1: creating 2 I/O queues.
nvme nvme1: mapped 2/0/0 default/read/poll queues.
nvme nvme1: Successfully reconnected (3 attempt)
It looks like the host is able to recover correctly even though the IO
queue count is 0.
More information about the Linux-nvme
mailing list