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;
|
||||
}
|
||||
|
||||
/* 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);
|
||||
|
||||
Reference in New Issue
Block a user