linux/drivers/nvme
James Smart 24431d60d3 nvme_fcloop: rework to remove xxx_IN_ISR feature flags
The existing fcloop driver expects the target side upcalls to
the transport to context switch, thus the calls into the nvmet layer
are not done in the calling context of the host/initiator down calls.
The xxx_IN_ISR feature flags are used to select this logic.

The xxx_IN_ISR feature flags should go away in the nvmet_fc transport
as no other lldd utilizes them. Both Broadcom and Cavium lldds have their
own non-ISR deferred handlers thus the nvmet calls can be made directly.

This patch converts the paths that make the target upcalls (command
receive, abort receive) such that they schedule a work item rather
than expecting the transport to schedule the work item.

The patch also cleans up the following:
- The completion path from target to host scheduled a host work
  element called "work". Rename it "tio_done_work" for code clarity.
- The abort io path called a iniwork item to call the host side
  io done. This is no longer needed as the abort routine can make
  the same call.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2018-01-08 11:01:54 +01:00
..
host lightnvm: make geometry structures 2.0 ready 2018-01-05 08:50:12 -07:00
target nvme_fcloop: rework to remove xxx_IN_ISR feature flags 2018-01-08 11:01:54 +01:00
Kconfig nvme: use menu Kconfig interface 2017-10-04 09:43:57 +02:00
Makefile nvmet: add a generic NVMe target 2016-07-05 11:30:33 -06:00