Spdk/lib/iscsi
Shuhei Matsumoto 43f695d939 lib/iscsi: Move PDU header handling before data buffer allocation
To use zero copy bdev I/O APIs for write I/O, we have to allocate
iSCSI task before allocating data buffer because allocating data
buffer will be changed to spdk_bdev_zcopy_start() call and the
allocated iSCSI task will be passed to the call.

One critical change is that we have to read all data for the
current PDU even if handling the PDU is rejected. For that purpose,
use is_rejected flag and do not call iscsi_pdu_payload_handle()
is is_rejected is true. If iscsi_pdu_hdr_handle() returns negative,
close the connection, so return the state machine immediately.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ice77b7266af8ac392d9094478523e6e6fe6d131a
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470413
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
2019-10-22 17:20:51 +00:00
..
conn.c lib/scsi: Check pending tasks for the SCSI device only from the specific initiator 2019-10-18 17:30:13 +00:00
conn.h lib/iscsi: Separate PDU header and payload handling for Login Request 2019-10-22 17:20:51 +00:00
init_grp.c rpc: Rename add_initiator_group to iscsi_create_initiator_group 2019-09-24 16:40:01 +00:00
init_grp.h iscsi: Use not malloc'ed but fixed size string for initiator address 2019-07-01 05:03:07 +00:00
iscsi_rpc.c rpc: Rename delete_target_node to iscsi_delete_target_node 2019-10-01 14:00:30 +00:00
iscsi_subsystem.c rpc: Rename add_iscsi_auth_group to iscsi_create_auth_group 2019-09-24 14:46:27 +00:00
iscsi.c lib/iscsi: Move PDU header handling before data buffer allocation 2019-10-22 17:20:51 +00:00
iscsi.h lib/iscsi: Add a flag to struct spdk_iscsi_pdu to know if it is rejected 2019-10-17 16:27:27 +00:00
Makefile mk: add a lib deps file. 2019-08-23 17:48:35 +00:00
md5.c astyle: enforce braces around single-line statements 2017-12-11 11:19:32 -05:00
md5.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
param.c iscsi: Remove the prefix spdk_ from names of private functions 2019-04-01 00:52:56 +00:00
param.h include: Move the remainder of the code base to stdinc.h 2017-05-08 13:20:36 -07:00
portal_grp.c lib/iscsi: Add iscsi_portal_group_set_auth for per portal group CHAP authentication 2019-09-27 15:24:14 +00:00
portal_grp.h lib/iscsi: Add iscsi_portal_group_set_auth for per portal group CHAP authentication 2019-09-27 15:24:14 +00:00
task.c iscsi: Remove the prefix spdk_ from names of private functions 2019-04-01 00:52:56 +00:00
task.h Revert "iscsi: change the field bhs to pointer type." 2019-09-19 05:04:00 +00:00
tgt_node.c lib/iscsi: Request logout to asynchronously to initiator 2019-10-09 02:45:17 +00:00
tgt_node.h rpc: Rename delete_pg_ig_maps to iscsi_target_node_remove_pg_ig_maps 2019-09-18 18:09:13 +00:00