numam-spdk/lib/nvmf
Shuhei Matsumoto 34a0d851f6 nvmf/tcp: Return DIF error to initiator instead of severe disconnection
On a DIF verification error, fail the read command with a status code
of APPLICATION_TAG_CHECK_ERROR, GUARD_CHECK_ERROR, or
REFERENCE_TAG_CHECK_ERROR and a status code type of SCT_MEDIA_ERROR.

The state of the request is TCP_REQUEST_STATE_TRANSFERRING_CONTROLLER_TO_HOST
when a DIF verification error is detected. So dequeue the request
from C2H data queue, return the response PDU, and then send the command
response.

This was an item on the TODO list. RDMA transport do this right
behavior from the start and so TCP transport follows it by this patch.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I102bbd253cc8c1379d0937c9536bf2bfe04cbf6a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/468911
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-09-24 17:04:28 +00:00
..
ctrlr_bdev.c nvmf: Add BDEV IO pending statistics 2019-07-12 12:46:29 +00:00
ctrlr_discovery.c nvmf: don't keep a global discovery log page. 2019-09-03 00:30:59 +00:00
ctrlr.c nvmf: Delay sending AER until subsystem resumes 2019-08-14 21:24:27 +00:00
fc_ls.c nvmf/fc: Move pending_data_buf_queue from fc_conn to fc_poll_group 2019-09-09 00:42:22 +00:00
fc.c nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
Makefile lib/nvmf: extract RPCs from the subsystem directory 2019-08-21 17:20:28 +00:00
nvmf_fc.h nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
nvmf_internal.h nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
nvmf_rpc.c RPC: rename delete_nvmf_subsystem to nvmf_delete_subsystem 2019-09-24 16:42:41 +00:00
nvmf.c RPC: rename nvmf_subsystem_create to nvmf_create_subsystem 2019-09-24 16:42:41 +00:00
rdma.c rdma: Fix scanbuild warning for gcc9+. 2019-09-20 21:43:25 +00:00
subsystem.c nvmf: spdk_nvmf_subsystem_remove_ns is no longer asynchronous 2019-07-11 11:19:53 +00:00
tcp.c nvmf/tcp: Return DIF error to initiator instead of severe disconnection 2019-09-24 17:04:28 +00:00
transport.c nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
transport.h NVMe-oF Target: Add FC transport. 2019-07-26 22:17:17 +00:00