linux-stable/drivers/nvme/target
Sagi Grimberg d8f7750a08 nvmet-rdma: Correctly handle RDMA device hot removal
When configuring a device attached listener, we may
see device removal events. In this case we return a
non-zero return code from the cm event handler which
implicitly destroys the cm_id. It is possible that in
the future the user will remove this listener and by
that trigger a second call to rdma_destroy_id on an
already destroyed cm_id -> BUG.

In addition, when a queue bound (active session) cm_id
generates a DEVICE_REMOVAL event we must guarantee all
resources are cleaned up by the time we return from the
event handler.

Introduce nvmet_rdma_device_removal which addresses
(or at least attempts to) both scenarios.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2016-08-04 17:43:06 +03:00
..
admin-cmd.c
configfs.c nvmet: fix an error code 2016-07-07 08:37:36 -06:00
core.c nvmet: fix return value check in nvmet_subsys_alloc() 2016-07-12 08:33:43 -07:00
discovery.c
fabrics-cmd.c
io-cmd.c
Kconfig nvme-loop: fix nvme-loop Kconfig dependencies 2016-07-12 08:36:40 -07:00
loop.c nvme-loop: Remove duplicate call to nvme_remove_namespaces 2016-08-03 16:25:19 +03:00
Makefile nvmet-rdma: add a NVMe over Fabrics RDMA target driver 2016-07-08 08:38:49 -06:00
nvmet.h
rdma.c nvmet-rdma: Correctly handle RDMA device hot removal 2016-08-04 17:43:06 +03:00