numam-spdk/lib
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
..
bdev RPC: rename set_bdev_options to bdev_set_options 2019-09-24 16:42:41 +00:00
blob lib/blob: move bdev subdir under module directory. 2019-08-22 16:29:49 +00:00
blobfs blobfs: use __wake_caller() to wake up the caller 2019-08-14 21:41:36 +00:00
conf string: spdk_strtol to delegate additional error checking 2019-01-29 00:10:57 +00:00
copy lib/copy: move ioat subdir to module directory. 2019-08-22 16:29:49 +00:00
env_dpdk env: add spdk_pci_device_unclaim() 2019-09-18 20:34:39 +00:00
env_ocf lib/mk: update OCF build. 2019-08-27 18:49:56 +00:00
event event: Repack struct spdk_reactor 2019-09-18 16:45:05 +00:00
ftl lib/ftl: Remove not needed header from ftl_init.c 2019-09-17 19:35:45 +00:00
ioat ioat: allocate device struct using regular calloc 2019-04-09 06:30:42 +00:00
iscsi rpc: Rename delete_secret_from_iscsi_auth_group to iscsi_auth_group_remove_secret 2019-09-24 16:40:47 +00:00
json json_util: fix typo in debug message. 2019-05-31 14:39:53 +00:00
jsonrpc jsonrpc: tolerate null json value for parameters in json-rpc call 2019-07-26 19:30:57 +00:00
log RPC: rename set_log_flag to log_set_flag 2019-09-19 23:03:22 +00:00
log_rpc RPC: rename get_log_flags to log_get_flags 2019-09-24 16:42:41 +00:00
lvol lvol: Remove blobstore on super blob creation/open error 2019-09-09 21:56:47 +00:00
nbd rpc: Rename get_nbd_disks to nbd_get_disks 2019-09-19 20:56:35 +00:00
net rpc: Rename get_interfaces to net_get_interfaces 2019-09-21 23:30:37 +00:00
notify RPC: rename get_notifications to notify_get_notifications 2019-09-24 16:42:41 +00:00
nvme nvme: add arbitration configuration options to NVMe driver 2019-09-20 02:04:06 +00:00
nvmf nvmf/tcp: Return DIF error to initiator instead of severe disconnection 2019-09-24 17:04:28 +00:00
reduce lib/reduce: enable deletion of a vol w/o a pmem file 2019-08-22 04:31:46 +00:00
rocksdb RocksDB: Remove static and assert for SpdkInitializeThread 2019-07-05 04:19:11 +00:00
rpc lib/rpc: Add include_aliases flag to rpc_get_methods implementation. 2019-08-28 15:19:17 +00:00
rte_vhost make: add dependencies for the rte_vhost build. 2019-09-09 22:15:24 +00:00
scsi Revert "scsi: Fix seg.fault due to the gap between IO channel put and LUN removal" 2019-09-09 21:11:22 +00:00
sock lib/sock: move subdirs to module/sock 2019-08-22 16:29:49 +00:00
thread thread: Assign not pointer but instance of spdk_cpuset in struct spdk_thread 2019-07-04 00:30:22 +00:00
trace lib: move trace_rpc into lib/trace 2019-08-19 06:10:30 +00:00
ut_mock thread: Eliminate use of pthread_self and thread_ids 2019-01-15 16:53:12 +00:00
util util: optimize base64 with Arm NEON 2019-09-24 17:03:36 +00:00
vhost vhost: fix the reuse of free memory issue in scsi 2019-09-19 01:34:07 +00:00
virtio lib/virtio: change the definition of cookie 2019-06-26 08:03:37 +00:00
vmd lib/vmd: check header_type after the vmd_adapter structure is verified 2019-07-23 19:55:04 +00:00
Makefile make: add dependencies for the rte_vhost build. 2019-09-09 22:15:24 +00:00