From: Nathan Scott This is indeed an XFS issue (thanks for reporting it), the patch below fixes it. fs/xfs/linux/xfs_aops.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/xfs/linux/xfs_aops.c~xfs-uptodate-page-fix fs/xfs/linux/xfs_aops.c --- 25/fs/xfs/linux/xfs_aops.c~xfs-uptodate-page-fix 2003-08-06 18:47:35.000000000 -0700 +++ 25-akpm/fs/xfs/linux/xfs_aops.c 2003-08-06 18:47:35.000000000 -0700 @@ -803,7 +803,7 @@ next_bh: bh = bh->b_this_page; } while (offset < end_offset); - if (uptodate) + if (uptodate && bh == head) SetPageUptodate(page); if (startio) _