kernel - Fix cluster_read random I/O heuristic
* cluster_read was improperly accounting for the seqcount in the random
I/O heuristic, failing to reduce the count in the loop which led to
fairly maximal sequential read-ahead even for random I/O.
Properly reduce the seqcount for both the initial buffer and in the
read-ahead loop, which has the effect of terminating the loop early
or not running it at all when the I/O is random.
* HAMMER was not scaling the seqcount for the heuristic to BKVASIZE.
* Thanks to Jan for spending the time required to bisect and track down the
problem!
Reported-by: Jan Lentfer <Jan.Lentfer@web.de>