numam-spdk/lib/iscsi
Ziye Yang fbb59ae25a iscsi: fix the recursive calling issue.
After I review the function iscsi_conn_flush_pdus_internal,
I think that it may cause recursive function call issue. One of
the recursive calls in iscsi_conn_flush_pdus_internal
is:

spdk_iscsi_conn_free_pdu
spdk_iscsi_conn_handle_queued_datain_tasks
...
spdk_iscsi_task_cpl(&task->scsi);
...
process_read_task_completion
spdk_iscsi_task_response
iscsi_transfer_in
iscsi_send_datain
spdk_iscsi_conn_write_pdu
iscsi_conn_flush_pdus
iscsi_conn_flush_pdus_internal

So we have to create another list to solve this recursive issue
in the while loop. And we face the the similar issue in
NVMe/TCP before. With this patch, we can fix issues caused by
recursive calls.

Fixes #issue 1023

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Change-Id: I7150b962bfb30e74f53ba1a2a826fb78c73d8ea6
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/472999
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2019-11-06 14:48:46 +00:00
..
conn.c iscsi: fix the recursive calling issue. 2019-11-06 14:48:46 +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: Remove iSCSI task left in PDU receive process due to connection exit 2019-10-31 17:26:26 +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