aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaicheng Li <haicheng.li@intel.com>2009-10-26 09:47:22 +0100
committerAndi Kleen <ak@linux.intel.com>2009-10-26 09:55:33 +0100
commit3b27e2d46fb109392464d7103a4364f0ec1929c2 (patch)
tree0076079c2855f28bc25548aaf67455d0eb1b6c02
parent39692d8a1ca1157a9465bd1e58f1dbc7a130e898 (diff)
downloadmce-test-3b27e2d46fb109392464d7103a4364f0ec1929c2.tar.gz
Avoid tsyncpage failures on NFS
My debugging shows mmap() with MLOCKED flag will set page dirty again, then kernel handler would never enter into clean page handling logic. So use fsync() after mmap() to make the page clean. Signed-off-by: Haicheng Li <haicheng.li@intel.com> Tested-by: Dean Nelson <dnelson@redhat.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
-rw-r--r--tsrc/tinjpage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/tsrc/tinjpage.c b/tsrc/tinjpage.c
index 3dd3e59..8b206c7 100644
--- a/tsrc/tinjpage.c
+++ b/tsrc/tinjpage.c
@@ -275,9 +275,9 @@ static void do_file_clean(int flags, char *name)
if (fd < 0)
err("open temp file");
write(fd, fn, 4);
- fsync(fd);
page = checked_mmap(NULL, PS, PROT_READ|PROT_WRITE, MAP_SHARED|flags,
fd, 0);
+ fsync(fd);
close(fd);
testmem(name, page, MREAD_OK);
/* reread page from disk */