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:
@@ -418,6 +418,14 @@ int iscsi_reconnect(struct iscsi_context *iscsi)
|
|||||||
return -1;
|
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_LOG(iscsi, 2, "reconnect initiated");
|
||||||
|
|
||||||
iscsi_set_targetname(tmp_iscsi, iscsi->target_name);
|
iscsi_set_targetname(tmp_iscsi, iscsi->target_name);
|
||||||
|
|||||||
Reference in New Issue
Block a user