linux/drivers
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
..
accessibility
acpi Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
amba
android
ata
atm
auxdisplay
base
bcma
block drbd: Drop unnecessary static 2017-06-27 17:56:50 -06:00
bluetooth
bus
cdrom block: don't set bounce limit in blk_init_queue 2017-06-27 12:13:45 -06:00
char Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
clk
clocksource
connector
cpufreq
cpuidle
crypto
dax
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware
fmc
fpga
fsi
gpio
gpu Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
hid
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
ide block: Change argument type of scsi_req_init() 2017-06-20 19:27:14 -06:00
idle
iio
infiniband
input
iommu Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
ipack
irqchip Xtensa fixes for v4.12-rc6 2017-06-13 15:09:10 +09:00
isdn
leds
lguest
lightnvm lightnvm: if LUNs are already allocated fix return 2017-06-27 08:22:09 -06:00
macintosh
mailbox
mcb
md dm: don't set bounce limit 2017-06-27 12:13:45 -06:00
media
memory
memstick
message
mfd
misc
mmc mmc/block: remove a call to blk_queue_bounce_limit 2017-06-27 12:13:45 -06:00
mtd block: don't set bounce limit in blk_init_queue 2017-06-27 12:13:45 -06:00
net Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
nfc
ntb
nubus
nvdimm block: don't bother with bounce limits for make_request drivers 2017-06-27 12:13:45 -06:00
nvme nvmet-rdma: register ib_client to not deadlock in device removal 2017-06-28 08:14:13 -06:00
nvmem
of
oprofile
parisc
parport
pci
pcmcia
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 Merge commit '8e8320c9315c' into for-4.13/block 2017-06-22 21:55:24 -06:00
sbus block: don't set bounce limit in blk_init_queue 2017-06-27 12:13:45 -06:00
scsi block: don't set bounce limit in blk_init_allocated_queue 2017-06-27 12:13:45 -06:00
sfi
sh
sn
soc
spi
spmi
ssb
staging
target block: Make most scsi_req_init() calls implicit 2017-06-20 19:27:14 -06:00
tc
tee
thermal
thunderbolt
tty
uio
usb Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
uwb
vfio
vhost
video
virt
virtio
vlynq
vme
w1
watchdog
xen Merge branch 'uuid-types' of bombadil.infradead.org:public_git/uuid into nvme-base 2017-06-13 11:45:14 +02:00
zorro
Kconfig
Makefile