1From 34e3152b64368d4a3672084ebae565d55f320f5d Mon Sep 17 00:00:00 2001 2From: Lucas Meneghel Rodrigues <lmr@redhat.com> 3Date: Tue, 18 May 2010 10:40:15 -0300 4Subject: [PATCH 1/2] Minor fixes to PAGE_SIZE handling 5 6Signed-off-by: Suzuki <suzuki@in.ibm.com> 7--- 8 fsx-linux.c | 10 +++++++--- 9 1 files changed, 7 insertions(+), 3 deletions(-) 10 11diff --git a/fsx-linux.c b/fsx-linux.c 12index a1642d2..33eb770 100644 13--- a/fsx-linux.c 14+++ b/fsx-linux.c 15@@ -10,6 +10,8 @@ 16 * 17 * Small changes to work under Linux -- davej@suse.de 18 * 19+ * Minor fixes to PAGE_SIZE handling -- Suzuki <suzuki@in.ibm.com>. 20+ * 21 */ 22 23 #undef _XOPEN_SOURCE 24@@ -74,7 +76,7 @@ int logcount = 0; /* total ops */ 25 #define OP_SKIPPED 7 26 27 #ifndef PAGE_SIZE 28-#define PAGE_SIZE 4096 29+#define PAGE_SIZE pagesize 30 #endif 31 #define PAGE_MASK (PAGE_SIZE - 1) 32 33@@ -129,6 +131,7 @@ int aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset); 34 FILE * fsxlogf = NULL; 35 int badoff = -1; 36 int closeopen = 0; 37+int pagesize = 0; 38 39 static void *round_up(void *ptr, unsigned long align, unsigned long offset) 40 { 41@@ -493,7 +496,7 @@ domapread(unsigned offset, unsigned size) 42 offset, offset + size - 1, size); 43 44 pg_offset = offset & PAGE_MASK; 45- map_size = pg_offset + size; 46+ map_size = (pg_offset + size + PAGE_MASK) & ~PAGE_MASK; 47 48 #ifdef linux 49 if ((p = (char *)mmap(0, map_size, PROT_READ, MAP_SHARED, fd, 50@@ -638,7 +641,7 @@ domapwrite(unsigned offset, unsigned size) 51 } 52 } 53 pg_offset = offset & PAGE_MASK; 54- map_size = pg_offset + size; 55+ map_size = (pg_offset + size + PAGE_MASK) & ~PAGE_MASK; 56 57 if ((p = (char *)mmap(0, map_size, PROT_READ | PROT_WRITE, 58 MAP_FILE | MAP_SHARED, fd, 59@@ -1106,6 +1109,7 @@ main(int argc, char **argv) 60 if (argc != 1) 61 usage(); 62 fname = argv[0]; 63+ pagesize = getpagesize(); 64 65 signal(SIGHUP, cleanup); 66 signal(SIGINT, cleanup); 67-- 681.7.0.1 69 70