Spdk/lib/iscsi
Shuhei Matsumoto 6415d84113 lib/iscsi: Introduce struct spdk_iscsi_lun to refine LUN hotplug
Previously we had allocated temporary context, struct
_iscsi_conn_remove_ctx to process LUN hotplug.  However, we
had to consider out of memory during connection is active,
and we could not use any poller to process LUN hotplug because
LUN hotplug may conflict with connection exit, and this
possible conflict made us very difficult to use poller for LUN
hotplug.  Introducing struct spdk_iscsi_lun will resolve all
these issues.

Allocate struct spdk_iscsi_lun per LUN and store connection,
LUN, and LUN's descriptor into the struct.  Then use the struct
for LUN hotplug and free the struct after LUN is closed when
LUN is removed or connection exits.

struct spdk_iscsi_lun is similar with struct spdk_nvmf_ns in
NVMf library.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ice26330f3948070c96d2fb53b94941be3b467079
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/476113
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2019-12-05 12:21:09 +00:00
..
conn.c lib/iscsi: Introduce struct spdk_iscsi_lun to refine LUN hotplug 2019-12-05 12:21:09 +00:00
conn.h lib/iscsi: Introduce struct spdk_iscsi_lun to refine LUN hotplug 2019-12-05 12:21:09 +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: Fix double free of primary task when write I/O is split 2019-12-05 12:21:09 +00:00
iscsi.h lib/iscsi: Make spdk_del_transfer_task() return success/failure 2019-11-21 08:01:29 +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 lib/iscsi: Move function declaration to param.h to match function body 2019-11-19 09:10:14 +00: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: put data_cnt_in operation in iscsi task get and free 2019-12-04 15:34:54 +00:00
task.h lib/iscsi: Fix double free of primary task when write I/O is split 2019-12-05 12:21:09 +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