linux/drivers/nvme/host
Nitzan Carmi 8000d1fdb0 nvme-rdma: fix sysfs invoked reset_ctrl error flow
When reset_controller that is invoked by sysfs fails,
it enters an error flow which practically removes the
nvme ctrl entirely (similar to delete_ctrl flow). It
causes the system to hang, since a sysfs attribute cannot
be unregistered by one of its own methods.

This can be fixed by calling delete_ctrl as a work rather
than sequential code. In addition, it should give the ctrl
a chance to recover using reconnection mechanism (consistant
with FC reset_ctrl error flow). Also, while we're here, return
suitable errno in case the reset ended with non live ctrl.

Signed-off-by: Nitzan Carmi <nitzanc@mellanox.com>
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
2018-02-14 15:44:22 +02:00
..
Kconfig nvme: implement multipath access to nvme subsystems 2017-11-10 19:53:25 -07:00
Makefile nvme: add tracepoint for nvme_setup_cmd 2018-01-26 12:34:40 +01:00
core.c nvme-rdma: fix sysfs invoked reset_ctrl error flow 2018-02-14 15:44:22 +02:00
fabrics.c Merge branch 'for-4.16/block' of git://git.kernel.dk/linux-block 2018-01-29 11:51:49 -08:00
fabrics.h nvme: rename NVME_CTRL_RECONNECTING state to NVME_CTRL_CONNECTING 2018-02-08 18:35:53 +02:00
fc.c nvme_fc: cleanup io completion 2018-02-11 10:45:43 +02:00
lightnvm.c lightnvm: make geometry structures 2.0 ready 2018-01-05 08:50:12 -07:00
multipath.c nvme/multipath: Use blk_path_error 2018-01-10 10:52:18 -07:00
nvme.h nvme: Don't use a stack buffer for keep-alive command 2018-02-12 22:18:14 +02:00
pci.c nvme-pci: Fix timeouts in connecting state 2018-02-13 17:09:50 -07:00
rdma.c nvme-rdma: fix sysfs invoked reset_ctrl error flow 2018-02-14 15:44:22 +02:00
trace.c nvme: add tracepoint for nvme_setup_cmd 2018-01-26 12:34:40 +01:00
trace.h nvme: add tracepoint for nvme_complete_rq 2018-01-26 12:34:40 +01:00