summaryrefslogtreecommitdiff
path: root/block/blk-mq-cpumap.c
diff options
context:
space:
mode:
authorSagi Grimberg <sagi@grimberg.me>2017-06-27 09:23:33 +0300
committerJens Axboe <axboe@kernel.dk>2017-06-28 17:14:13 +0300
commitf1d4ef7d88832444e8dfeb0e85e19d3b6ecb5011 (patch)
treea3ed6b5fa17b0677b334518abff4e303e2c23225 /block/blk-mq-cpumap.c
parent69fa964632fe18a11a80ead0d09ef3399b08144a (diff)
downloadlinux-f1d4ef7d88832444e8dfeb0e85e19d3b6ecb5011.tar.xz
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>
Diffstat (limited to 'block/blk-mq-cpumap.c')
0 files changed, 0 insertions, 0 deletions