From 34e3152b64368d4a3672084ebae565d55f320f5d Mon Sep 17 00:00:00 2001
From: Lucas Meneghel Rodrigues <lmr@redhat.com>
Date: Tue, 18 May 2010 10:40:15 -0300
Subject: [PATCH 1/2] Minor fixes to PAGE_SIZE handling

Signed-off-by: Suzuki <suzuki@in.ibm.com>
---
 fsx-linux.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/fsx-linux.c b/fsx-linux.c
index a1642d2..33eb770 100644
--- a/fsx-linux.c
+++ b/fsx-linux.c
@@ -10,6 +10,8 @@
  *
  *	Small changes to work under Linux -- davej@suse.de
  *
+ *	Minor fixes to PAGE_SIZE handling -- Suzuki <suzuki@in.ibm.com>.
+ *
  */
 
 #undef _XOPEN_SOURCE
@@ -74,7 +76,7 @@ int			logcount = 0;	/* total ops */
 #define OP_SKIPPED	7
 
 #ifndef PAGE_SIZE
-#define PAGE_SIZE       4096
+#define PAGE_SIZE       pagesize
 #endif
 #define PAGE_MASK       (PAGE_SIZE - 1)
 
@@ -129,6 +131,7 @@ int aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset);
 FILE *	fsxlogf = NULL;
 int badoff = -1;
 int closeopen = 0;
+int pagesize = 0;
 
 static void *round_up(void *ptr, unsigned long align, unsigned long offset)
 {
@@ -493,7 +496,7 @@ domapread(unsigned offset, unsigned size)
 		    offset, offset + size - 1, size);
 
 	pg_offset = offset & PAGE_MASK;
-	map_size  = pg_offset + size;
+	map_size  = (pg_offset + size + PAGE_MASK) & ~PAGE_MASK;
 
 #ifdef linux
 	if ((p = (char *)mmap(0, map_size, PROT_READ, MAP_SHARED, fd,
@@ -638,7 +641,7 @@ domapwrite(unsigned offset, unsigned size)
 		}
 	}
 	pg_offset = offset & PAGE_MASK;
-	map_size  = pg_offset + size;
+	map_size  = (pg_offset + size + PAGE_MASK) & ~PAGE_MASK;
 
 	if ((p = (char *)mmap(0, map_size, PROT_READ | PROT_WRITE,
 			      MAP_FILE | MAP_SHARED, fd,
@@ -1106,6 +1109,7 @@ main(int argc, char **argv)
 	if (argc != 1)
 		usage();
 	fname = argv[0];
+	pagesize = getpagesize();
 
 	signal(SIGHUP,	cleanup);
 	signal(SIGINT,	cleanup);
-- 
1.7.0.1

