From: Matt Joiner Date: Thu, 14 Aug 2025 02:39:59 +0000 (+1000) Subject: Skip unnecessary peer iteration when there's no peers to ban X-Git-Tag: v1.59.0~2^2~7 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=72787e8d0d7c705a2d37f73f1539913ee88dedd5;p=btrtrc.git Skip unnecessary peer iteration when there's no peers to ban --- diff --git a/torrent.go b/torrent.go index d66d51da..317bb1a4 100644 --- a/torrent.go +++ b/torrent.go @@ -2800,11 +2800,13 @@ func (t *Torrent) finishHash(index pieceIndex) { t.storageLock.RUnlock() t.cl.lock() if correct { - for peer := range failedPeers { - t.cl.banPeerIP(peer.AsSlice()) - t.logger.WithDefaultLevel(log.Debug).Printf("smart banned %v for piece %v", peer, index) + if len(failedPeers) > 0 { + for peer := range failedPeers { + t.cl.banPeerIP(peer.AsSlice()) + t.slogger().Info("smart banned peer", "peer", peer, "piece", index) + } + t.dropBannedPeers() } - t.dropBannedPeers() t.smartBanCache.ForgetBlockSeq(iterRange(t.pieceRequestIndexBegin(index), t.pieceRequestIndexBegin(index+1))) } p.hashing = false