Since Jens added the pagecache readahead support in the block layer we've been getting bogus IO error messages from buffer.c due to __make_request calling end_io against a non-uptodate buffer. We can just use PF_READAHEAD to shut that up. But really, we shouldn't even have allocated all those pages and submittted the readahead IO if the queue was congested. We have the infrastructure to do that now. 25-akpm/fs/buffer.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) diff -puN fs/buffer.c~buffer_io_error-readahead-fix fs/buffer.c --- 25/fs/buffer.c~buffer_io_error-readahead-fix Wed Jul 30 13:44:03 2003 +++ 25-akpm/fs/buffer.c Wed Jul 30 13:44:03 2003 @@ -507,7 +507,8 @@ static void end_buffer_async_read(struct set_buffer_uptodate(bh); } else { clear_buffer_uptodate(bh); - buffer_io_error(bh); + if (!(current->flags & PF_READAHEAD)) + buffer_io_error(bh); SetPageError(page); } _