diff -X /home/cel/src/linux/dont-diff -Naurp 15-async-write-hookup/fs/nfs/read.c 16-read-eof/fs/nfs/read.c --- 15-async-write-hookup/fs/nfs/read.c 2004-02-20 17:31:46.000000000 -0500 +++ 16-read-eof/fs/nfs/read.c 2004-02-20 17:44:11.000000000 -0500 @@ -402,6 +402,8 @@ nfs_readpage_result_partial(struct nfs_r memclear_highpage_flush(page, data->args.pgbase + result, request - result); + if (!data->res.eof) + SetPageError(page); } } else SetPageError(page); @@ -431,7 +433,8 @@ nfs_readpage_result_full(struct nfs_read memclear_highpage_flush(page, req->wb_pgbase + count, req->wb_bytes - count); - + if (!data->res.eof) + SetPageError(page); count = 0; } else count -= PAGE_CACHE_SIZE;