James Smart 5073842093 lpfc: support nvmet_fc defer_rcv callback
Currently, calls to nvmet_fc_rcv_fcp_req() always copied the
FC-NVME cmd iu to a temporary buffer before returning, allowing
the driver to immediately repost the buffer to the hardware.

To address timing conditions on queue element structures vs async
command reception, the nvmet_fc transport occasionally may need to
hold on to the command iu buffer for a short period. In these cases,
the nvmet_fc_rcv_fcp_req() will return a special return code
(-EOVERFLOW). In these cases, the LLDD must delay until the new
defer_rcv lldd callback is called before recycling the buffer back
to the hw.

This patch adds support for the new nvmet_fc transport defer_rcv
callback and recognition of the new error code when passing commands
to the transport.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2017-08-10 11:19:05 +02:00
..
2017-07-06 12:10:33 -07:00
2017-07-06 12:10:33 -07:00
2017-07-06 12:10:33 -07:00
2017-07-06 12:10:33 -07:00
2017-07-17 12:26:12 -07:00
2015-04-17 10:13:56 -07:00
2015-11-25 22:08:55 -05:00
2014-07-17 22:07:37 +02:00
2016-05-10 22:01:07 -04:00
2015-11-09 17:11:57 -08:00
2014-11-24 16:13:16 +01:00
2015-11-09 16:32:14 -08:00
2017-06-12 20:48:01 -04:00
2016-02-25 21:10:53 -05:00
2017-05-04 12:19:44 -07:00
2017-03-23 12:04:05 -04:00
2016-01-27 20:36:10 +08:00
2017-06-27 21:31:12 -04:00
2016-01-27 20:36:10 +08:00
2017-05-04 12:19:44 -07:00
2017-04-26 15:09:04 -06:00
2014-07-17 22:07:35 +02:00
2016-02-23 21:27:02 -05:00
2016-11-28 15:51:31 -05:00
2017-07-03 09:55:26 -07:00
2017-07-06 12:10:33 -07:00
2017-07-06 12:10:33 -07:00
2017-04-13 13:58:20 -04:00
2017-07-06 12:10:33 -07:00
2017-07-06 12:10:33 -07:00
2017-06-27 21:31:12 -04:00
2017-05-16 08:44:15 -03:00
2017-05-04 12:19:44 -07:00
2017-07-06 12:10:33 -07:00
2017-07-12 17:17:18 -04:00
2016-02-23 21:27:02 -05:00
2014-07-17 22:07:39 +02:00
2017-04-07 17:07:14 -04:00
2014-11-12 11:15:57 +01:00
2015-11-18 11:59:09 -05:00
2017-04-26 18:32:29 -04:00
2017-02-21 11:51:42 -08:00
2017-03-15 19:27:46 -04:00