diff -urNp --exclude CVS --exclude BitKeeper --exclude {arch} --exclude .arch-ids x-ref/fs/nfs/write.c x/fs/nfs/write.c --- x-ref/fs/nfs/write.c 2003-11-28 23:12:44.000000000 +0100 +++ x/fs/nfs/write.c 2003-12-04 19:34:42.000000000 +0100 @@ -258,12 +258,16 @@ do_it: if (NFS_SERVER(inode)->wsize >= PAGE_CACHE_SIZE && !IS_SYNC(inode) && inode_referenced) { err = nfs_writepage_async(NULL, inode, page, 0, offset); - if (err >= 0) + if (likely(err >= 0)) err = 0; + else + SetPageDirty(page); } else { err = nfs_writepage_sync(NULL, inode, page, 0, offset); - if (err == offset) + if (likely(err == offset)) err = 0; + else + SetPageDirty(page); } unlock_kernel(); out: