linux/drivers/nvme/target
Sagi Grimberg f1d4ef7d88 nvmet-rdma: register ib_client to not deadlock in device removal
We can deadlock in case we got to a device removal
event on a queue which is already in the process of
destroying the cm_id is this is blocking until all
events on this cm_id will drain. On the other hand
we cannot guarantee that rdma_destroy_id was invoked
as we only have indication that the queue disconnect
flow has been queued (the queue state is updated before
the realease work has been queued).

So, we leave all the queue removal to a separate ib_client
to avoid this deadlock as ib_client device removal is in
a different context than the cm_id itself.

Reported-by: Shiraz Saleem <shiraz.saleem@intel.com>
Tested-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2017-06-28 08:14:13 -06:00
..
admin-cmd.c nvmet: implement namespace identify descriptor list 2017-06-15 14:30:21 +02:00
configfs.c nvmet: allow overriding the NVMe VS via configfs 2017-06-15 14:30:23 +02:00
core.c nvmet: implement namespace identify descriptor list 2017-06-15 14:30:21 +02:00
discovery.c nvme: use a single NVME_AQ_DEPTH and relax it to 32 2017-06-28 08:14:13 -06:00
fabrics-cmd.c nvmet: convert from kmap to nvmet_copy_from_sgl 2017-04-21 16:41:47 +02:00
fc.c nvmet_fc: fix crashes on bad opcodes 2017-06-28 08:14:13 -06:00
fcloop.c nvmet-fc: Remove a set-but-not-used variable 2017-06-15 14:30:25 +02:00
io-cmd.c block: switch bios to blk_status_t 2017-06-09 09:27:32 -06:00
Kconfig nvme-fabrics: Add FC LLDD loopback driver to test FC-NVME 2016-12-06 14:51:48 +01:00
loop.c nvme: read the subsystem NQN from Identify Controller 2017-06-28 08:14:13 -06:00
Makefile nvme-fabrics: Add FC LLDD loopback driver to test FC-NVME 2016-12-06 14:51:48 +01:00
nvmet.h nvmet: implement namespace identify descriptor list 2017-06-15 14:30:21 +02:00
rdma.c nvmet-rdma: register ib_client to not deadlock in device removal 2017-06-28 08:14:13 -06:00