Add support for O_ATOMIC
[fio.git] / filesetup.c
index 33b47c923b5062fbd5bbc5919e4cd5e8bf127566..c9b060b7e8aba6b8cad4c498d3ee6736caaa6dc0 100644 (file)
@@ -519,6 +519,13 @@ int generic_open_file(struct thread_data *td, struct fio_file *f)
                goto skip_flags;
        if (td->o.odirect)
                flags |= OS_O_DIRECT;
+       if (td->o.oatomic) {
+               if (!FIO_O_ATOMIC) {
+                       td_verror(td, EINVAL, "OS does not support atomic IO");
+                       return 1;
+               }
+               flags |= OS_O_DIRECT | FIO_O_ATOMIC;
+       }
        if (td->o.sync_io)
                flags |= O_SYNC;
        if (td->o.create_on_open)
@@ -584,7 +591,7 @@ open_again:
                         * work-around a "feature" on Linux, where a close of
                         * an fd that has been opened for write will trigger
                         * udev to call blkid to check partitions, fs id, etc.
-                        * That polutes the device cache, which can slow down
+                        * That pollutes the device cache, which can slow down
                         * unbuffered accesses.
                         */
                        if (f->shadow_fd == -1)