diff -druN Linux-2.4.19-pre3/fs/nfs/write.c linux-2.4.19-pre3/fs/nfs/write.c
--- Linux-2.4.19-pre3/fs/nfs/write.c	Wed Mar 13 12:31:38 2002
+++ linux-2.4.19-pre3/fs/nfs/write.c	Wed Mar 13 12:34:28 2002
@@ -811,8 +811,15 @@
 	 * If wsize is smaller than page size, update and write
 	 * page synchronously.
 	 */
-	if (NFS_SERVER(inode)->wsize < PAGE_CACHE_SIZE || IS_SYNC(inode))
-		return nfs_writepage_sync(file, inode, page, offset, count);
+	if (NFS_SERVER(inode)->wsize < PAGE_CACHE_SIZE || IS_SYNC(inode)) {
+		status = nfs_writepage_sync(file, inode, page, offset, count);
+		if (status > 0) {
+			if (offset == 0 && status == PAGE_CACHE_SIZE)
+				SetPageUptodate(page);
+			return 0;
+		}
+		return status;
+	}
 
 	/*
 	 * Try to find an NFS request corresponding to this page
