this loop needs to stop before going past the end of the file. changing
the "while" this way seems to be effective, and restores previous good
behavior.
while ((ahead < max_ahead) &&
(raend + ahead + PAGE_CACHE_SIZE < inode->i_size)) {
but this loop is weird because it has subtle side-effects on "ahead". i
think it should be OK to break the loop due to oom/i-o errors without
causing the read-ahead behavior to break badly.
- Chuck Lever
-- corporate: <chuckl@netscape.com> personal: <chucklever@netscape.net> or <cel@monkey.org>The Linux Scalability project: http://www.citi.umich.edu/projects/linux-scalability/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/