nvme-rdma: use ib_client API to detect device removal
authorSteve Wise <swise@opengridcomputing.com>
Fri, 2 Sep 2016 16:01:54 +0000 (09:01 -0700)
committerSagi Grimberg <sagi@grimberg.me>
Mon, 12 Sep 2016 19:29:41 +0000 (22:29 +0300)
commite87a911fed07e368c6f97e75152e6297a7dfba48
tree993be810cc0bd7019f3e1c5faf2d2a02b33202a4
parente89ca58f9c901c8c4cfb09f96d879b186bb01492
nvme-rdma: use ib_client API to detect device removal

Change nvme-rdma to use the IB Client API to detect device removal.
This has the wonderful benefit of being able to blow away all the
ib/rdma_cm resources for the device being removed.  No craziness about
not destroying the cm_id handling the event.  No deadlocks due to broken
iw_cm/rdma_cm/iwarp dependencies.  And no need to have a bound cm_id
around during controller recovery/reconnect to catch device removal
events.

We don't use the device_add aspect of the ib_client service since we only
want to create resources for an IB device if we have a target utilizing
that device.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/host/rdma.c