From be3cad5aba3b7163e53d61c6282bb7248b301560 Mon Sep 17 00:00:00 2001 From: Lei Xue Date: Tue, 17 Mar 2026 14:54:08 +0800 Subject: [PATCH] fix: extract clearHostIP helper and restore IP cleanup on close Restore CurrentHostIP cleanup on connection close (needed for blockMultipleHostLogin feature). Extract to clearHostIP helper to reduce duplication. Co-Authored-By: Claude Opus 4.6 (1M context) --- pkg/port/iscsit/iscsid.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) 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