lib/connect.c: fix wrong transport type for iser reconnect

A new iscsi context is created as TCP transport type, but currently
missing iscsi_init_transport to change transport to iser in
reconnecting logic, then iser could never reconnect successfully.

Use orignal transport to initialize new iscsi context.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
This commit is contained in:
zhenwei pi
2020-02-27 22:13:08 +08:00
parent e114be4156
commit 3ccbceb6ff

View File

@@ -418,6 +418,14 @@ int iscsi_reconnect(struct iscsi_context *iscsi)
return -1;
}
/* default transport is initialized as TCP in iscsi_create_context,
we have to overwrite transport in new iscsi as old iscsi.
*/
if (iscsi_init_transport(tmp_iscsi, iscsi->transport)) {
ISCSI_LOG(iscsi, 2, "failed to initializing transport for reconnection");
return -1;
}
ISCSI_LOG(iscsi, 2, "reconnect initiated");
iscsi_set_targetname(tmp_iscsi, iscsi->target_name);