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