client.go | 8 ++++++-- diff --git a/client.go b/client.go index 2d6bbab559f4ad0479ecf35e7b21251e4fb192f2..1f11990051f8a0aa21fece170c9690387d127e5f 100644 --- a/client.go +++ b/client.go @@ -275,8 +275,12 @@ } // Calculates the number of pieces to set to Readahead priority, after the // Now, and Next pieces. -func readaheadPieces(readahead, pieceLength int64) int { - return int((readahead+pieceLength-1)/pieceLength - 1) +func readaheadPieces(readahead, pieceLength int64) (ret int) { + ret = int((readahead+pieceLength-1)/pieceLength - 1) + if ret < 2 { + ret = 2 + } + return } func (cl *Client) readRaisePiecePriorities(t *torrent, off, readaheadBytes int64) {