Split option handling out of init.c
[fio.git] / fio.c
diff --git a/fio.c b/fio.c
index 85eb22be94207c518ac71ef3dec59ffb955d9956..b5fada8983e90c2caeb4ca7c4c9ed1bed9a63e5a 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -37,7 +37,8 @@
 #include "fio.h"
 #include "os.h"
 
-static unsigned long page_mask;
+unsigned long page_mask;
+unsigned long page_size;
 #define ALIGN(buf)     \
        (char *) (((unsigned long) (buf) + page_mask) & ~page_mask)
 
@@ -131,12 +132,12 @@ static int check_min_rate(struct thread_data *td, struct timeval *now)
                        return 0;
 
                if (bytes < td->rate_bytes) {
-                       fprintf(f_out, "%s: min rate %u not met\n", td->name, td->ratemin);
+                       log_err("%s: min rate %u not met\n", td->name, td->ratemin);
                        return 1;
                } else {
                        rate = (bytes - td->rate_bytes) / spent;
                        if (rate < td->ratemin || bytes < td->rate_bytes) {
-                               fprintf(f_out, "%s: min rate %u not met, got %luKiB/sec\n", td->name, td->ratemin, rate);
+                               log_err("%s: min rate %u not met, got %luKiB/sec\n", td->name, td->ratemin, rate);
                                return 1;
                        }
                }
@@ -725,9 +726,6 @@ static void *thread_main(void *data)
                goto err_sem;
        }
 
-       if (init_random_state(td))
-               goto err_sem;
-
        if (td->ioscheduler && switch_ioscheduler(td))
                goto err_sem;
 
@@ -1158,6 +1156,7 @@ int main(int argc, char *argv[])
                return 1;
        }
 
+       page_size = ps;
        page_mask = ps - 1;
 
        if (write_bw_log) {