Add support for O_ATOMIC
[fio.git] / init.c
diff --git a/init.c b/init.c
index 1afc3417140c756aa81345ddfb35446b4b7fe978..1841ffc0fd152a81f72989a669aae08fe7dcc26e 100644 (file)
--- a/init.c
+++ b/init.c
@@ -629,6 +629,12 @@ static int fixup_options(struct thread_data *td)
                ret = 1;
        }
 
+       /*
+        * O_ATOMIC implies O_DIRECT
+        */
+       if (td->o.oatomic)
+               td->o.odirect = 1;
+
        return ret;
 }
 
@@ -915,6 +921,12 @@ static char *make_filename(char *buf, struct thread_options *o,
 
        return buf;
 }
+
+int parse_dryrun(void)
+{
+       return dump_cmdline || parse_only;
+}
+
 /*
  * Adds a job to the list of things todo. Sanitizes the various options
  * to make sure we don't have conflicts, and initializes various
@@ -939,7 +951,7 @@ static int add_job(struct thread_data *td, const char *jobname, int job_add_num,
        /*
         * if we are just dumping the output command line, don't add the job
         */
-       if (dump_cmdline || parse_only) {
+       if (parse_dryrun()) {
                put_job(td);
                return 0;
        }
@@ -1273,7 +1285,7 @@ int parse_jobs_ini(char *file, int is_buf, int stonewall_flag, int type)
                }
 
                /*
-                * Seperate multiple job files by a stonewall
+                * Separate multiple job files by a stonewall
                 */
                if (!global && stonewall) {
                        td->o.stonewall = stonewall;
@@ -1944,7 +1956,7 @@ int parse_options(int argc, char *argv[])
        fio_options_free(&def_thread);
 
        if (!thread_number) {
-               if (dump_cmdline || parse_only)
+               if (parse_dryrun())
                        return 0;
                if (exec_profile)
                        return 0;