From: Russell King <rmk+lkml@arm.linux.org.uk>

It appears the loop driver has had one flush_dcache_page() call added for
the case where it writes to the backing device page cache pages.

However, it seems to be missing the call where it writes to its own page
cache pages.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/block/loop.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -puN drivers/block/loop.c~fix-loop-device-cache-handling drivers/block/loop.c
--- 25/drivers/block/loop.c~fix-loop-device-cache-handling	Tue Jun  1 16:49:55 2004
+++ 25-akpm/drivers/block/loop.c	Tue Jun  1 16:49:55 2004
@@ -308,7 +308,9 @@ lo_read_actor(read_descriptor_t *desc, s
 		       page->index);
 		desc->error = -EINVAL;
 	}
-	
+
+	flush_dcache_page(p->page);
+
 	desc->count = count - size;
 	desc->written += size;
 	p->offset += size;
_