diff --git a/pkg/port/iscsit/iscsid.go b/pkg/port/iscsit/iscsid.go index 850a885..c65e444 100644 --- a/pkg/port/iscsit/iscsid.go +++ b/pkg/port/iscsit/iscsid.go @@ -359,12 +359,7 @@ func (s *ISCSITargetDriver) handler(events byte, conn *iscsiConnection) { log.Warningf("iscsi connection[%d] closed", conn.cid) s.removeConnectionFromSession(conn) conn.close() - IPMutex.Lock() - remoteIP := strings.Split(conn.conn.RemoteAddr().String(), ":")[0] - if CurrentHostIP == remoteIP { - CurrentHostIP = "" - } - IPMutex.Unlock() + s.clearHostIP(conn) } }() } @@ -376,15 +371,19 @@ func (s *ISCSITargetDriver) handler(events byte, conn *iscsiConnection) { log.Warningf("iscsi connection[%d] closed", conn.cid) s.removeConnectionFromSession(conn) conn.close() - IPMutex.Lock() - remoteIP := strings.Split(conn.conn.RemoteAddr().String(), ":")[0] - if CurrentHostIP == remoteIP { - CurrentHostIP = "" - } - IPMutex.Unlock() + s.clearHostIP(conn) } } +func (s *ISCSITargetDriver) clearHostIP(conn *iscsiConnection) { + IPMutex.Lock() + remoteIP := strings.Split(conn.conn.RemoteAddr().String(), ":")[0] + if CurrentHostIP == remoteIP { + CurrentHostIP = "" + } + IPMutex.Unlock() +} + func (s *ISCSITargetDriver) rxHandler(conn *iscsiConnection) { var ( hdigest uint = 0