Add support for O_ATOMIC
[fio.git] / options.c
index 4b91f5289c5826c3f7dcc62aa34fe90c15286c9c..4b4c251b92c3e6895d9dafe99c54dc1c9c388147 100644 (file)
--- a/options.c
+++ b/options.c
@@ -1892,6 +1892,16 @@ struct fio_option fio_options[FIO_MAX_OPTS] = {
                .category = FIO_OPT_C_IO,
                .group  = FIO_OPT_G_IO_TYPE,
        },
+       {
+               .name   = "atomic",
+               .lname  = "Atomic I/O",
+               .type   = FIO_OPT_BOOL,
+               .off1   = td_var_offset(oatomic),
+               .help   = "Use Atomic IO with O_DIRECT (implies O_DIRECT)",
+               .def    = "0",
+               .category = FIO_OPT_C_IO,
+               .group  = FIO_OPT_G_IO_TYPE,
+       },
        {
                .name   = "buffered",
                .lname  = "Buffered I/O",
@@ -3603,7 +3613,7 @@ int fio_cmd_option_parse(struct thread_data *td, const char *opt, char *val)
 int fio_cmd_ioengine_option_parse(struct thread_data *td, const char *opt,
                                char *val)
 {
-       return parse_cmd_option(opt, val, td->io_ops->options, td);
+       return parse_cmd_option(opt, val, td->io_ops->options, td->eo);
 }
 
 void fio_fill_default_options(struct thread_data *td)