configure: Make Cygwin take regular configure path
[fio.git] / init.c
diff --git a/init.c b/init.c
index fabc887b06c75c737e8eb49632f8bebe11e28c47..18538de1537d285623007dc975acf953dc1fce17 100644 (file)
--- a/init.c
+++ b/init.c
@@ -356,9 +356,8 @@ static int setup_thread_area(void)
                perror("shmat");
                return 1;
        }
-#ifdef FIO_HAVE_SHM_ATTACH_REMOVED
-       shmctl(shm_id, IPC_RMID, NULL);
-#endif
+       if (shm_attach_to_open_removed())
+               shmctl(shm_id, IPC_RMID, NULL);
 #endif
 
        memset(threads, 0, max_jobs * sizeof(struct thread_data));
@@ -620,7 +619,7 @@ static int fixup_options(struct thread_data *td)
        /*
         * Reads can do overwrites, we always need to pre-create the file
         */
-       if (td_read(td) || td_rw(td))
+       if (td_read(td))
                o->overwrite = 1;
 
        if (!o->min_bs[DDIR_READ])
@@ -765,7 +764,11 @@ static int fixup_options(struct thread_data *td)
        }
 
        if (o->pre_read) {
-               o->invalidate_cache = 0;
+               if (o->invalidate_cache) {
+                       log_info("fio: ignore invalidate option for %s\n",
+                                o->name);
+                       o->invalidate_cache = 0;
+               }
                if (td_ioengine_flagged(td, FIO_PIPEIO)) {
                        log_info("fio: cannot pre-read files with an IO engine"
                                 " that isn't seekable. Pre-read disabled.\n");