]> git.baikalelectronics.ru Git - kernel.git/commit
nvme-rdma: add DELETING queue flag
authorSagi Grimberg <sagi@grimberg.me>
Fri, 2 Sep 2016 16:01:54 +0000 (09:01 -0700)
committerSagi Grimberg <sagi@grimberg.me>
Mon, 12 Sep 2016 19:29:34 +0000 (22:29 +0300)
commita7549b80658e7dcbae981001319bd8e99f12b9dd
treeade1f8ddcb820d9a9afc5fe63a2050ff45fadfa9
parent66f13e85848d9f70ffa606e97a9e34ef368c3d62
nvme-rdma: add DELETING queue flag

When we get a surprise disconnect from the target we queue a periodic
reconnect (which is the sane thing to do...).

We only move the queues out of CONNECTED when we retry to reconnect (after
10 seconds in the default case) but we stop the blk queues immediately
so we are not bothered with traffic from now on. If delete() is kicking
off in this period the queues are still in CONNECTED state.

Part of the delete sequence is trying to issue ctrl shutdown if the
admin queue is CONNECTED (which it is!). This request is issued but
stuck in blk-mq waiting for the queues to start again. This might be
the one preventing us from forward progress...

The patch separates the queue flags to CONNECTED and DELETING. Now we
will move out of CONNECTED as soon as error recovery kicks in (before
stopping the queues) and DELETING is on when we start the queue deletion.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/host/rdma.c