On reconnect case, the iscsi_tcp_connect tries to reuse the fd number of old_iscsi. However, this fd could have been already closed in previous iscsi_tcp_disconnect if iscsi->fd == iscsi->old_iscsi->fd and the fd number might have been allocated to some other caller, in this case the fd reuse in iscsi_tcp_connect is not safe anymore. Solve this by not closing the fd if iscsi and old_iscsi share the same fd on reconnect to "really" reserve this fd number. Signed-off-by: Tianren Zhang <tianren@smartx.com>
32 KiB
32 KiB