diff -uNrp fuse-2.7.3-orig/kernel/dev.c fuse-2.7.3/kernel/dev.c
--- fuse-2.7.3-orig/kernel/dev.c	2008-02-19 20:51:24.000000000 +0100
+++ fuse-2.7.3/kernel/dev.c	2008-05-26 18:21:59.510744044 +0200
@@ -511,7 +511,8 @@ static int fuse_copy_fill(struct fuse_co
 	offset = cs->addr % PAGE_SIZE;
 	cs->mapaddr = kmap_atomic(cs->pg, KM_USER0);
 #ifdef DCACHE_BUG
-	flush_cache_page(vma, cs->addr, page_to_pfn(cs->pg));
+	//flush_cache_page(vma, cs->addr, page_to_pfn(cs->pg));
+	flush_cache_all();
 #endif
 	cs->buf = cs->mapaddr + offset;
 	cs->len = min(PAGE_SIZE - offset, cs->seglen);
diff -uNrp fuse-2.7.3-orig/kernel/fuse_i.h fuse-2.7.3/kernel/fuse_i.h
--- fuse-2.7.3-orig/kernel/fuse_i.h	2008-02-19 20:51:24.000000000 +0100
+++ fuse-2.7.3/kernel/fuse_i.h	2008-05-26 18:21:45.997742536 +0200
@@ -52,6 +52,7 @@
 #  define KERNEL_2_6_24_PLUS
 #endif
 
+#define DCACHE_BUG
 #if defined(__arm__) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
 #define DCACHE_BUG
 #endif
