[PATCHv3 0/2] nvmet: avoid circular locking warning
hare at kernel.org
hare at kernel.org
Fri Dec 8 04:53:19 PST 2023
From: Hannes Reinecke <hare at suse.de>
nvmet-rdma and nvmet-tcp trigger a circular locking warning when
tearing down; reason is a call to 'flush_workqueue' when creating
a new controller which tries to cover for the fact that old controller
instances might be in the process of tearing down.
However, this is pure speculation as we don't know (and don't check)
if there really _are_ controllers in shutdown.
And even if there were, that should be short-lived, and would have been
resolved by connecting just a tad later.
So this patch returns 'controller busy' if we really find ourselves in this
situation, allowing the caller to reconnect later.
Changes to v2:
- Implement backlog as suggested by Sagi
Changes to the original version:
- Update the rdma patch to implement 'install_queue()'
- Include suggestions from Jens Axboe
Hannes Reinecke (2):
nvmet-tcp: avoid circular locking dependency on install_queue()
nvmet-rdma: avoid circular locking dependency on install_queue()
drivers/nvme/target/rdma.c | 19 ++++++++++++++++---
drivers/nvme/target/tcp.c | 18 +++++++++++++++---
2 files changed, 31 insertions(+), 6 deletions(-)
--
2.35.3
More information about the Linux-nvme
mailing list