{
struct thread_data *td = data;
- if (td->o.mem_type == MEM_MMAPHUGE || td->o.mem_type == MEM_MMAP) {
+ if (td->o.mem_type == MEM_MMAPHUGE || td->o.mem_type == MEM_MMAP)
td->mmapfile = get_opt_postfix(mem);
- if (td->o.mem_type == MEM_MMAPHUGE && !td->mmapfile) {
- log_err("fio: mmaphuge:/path/to/file\n");
- return 1;
- }
- }
return 0;
}
.help = "POSIX asynchronous IO",
},
#endif
-#ifdef FIO_HAVE_SOLARISAIO
+#ifdef CONFIG_SOLARISAIO
{ .ival = "solarisaio",
.help = "Solaris native asynchronous IO",
},
#endif
-#ifdef FIO_HAVE_WINDOWSAIO
+#ifdef CONFIG_WINDOWSAIO
{ .ival = "windowsaio",
.help = "Windows native asynchronous IO"
},
.help = "Fusion-io atomic write engine",
},
#endif
-#ifdef FIO_HAVE_E4_ENG
+#ifdef CONFIG_LINUX_EXT4_MOVE_EXTENT
{ .ival = "e4defrag",
.help = "ext4 defrag engine",
},
#endif
-#ifdef FIO_HAVE_FALLOC_ENG
+#ifdef CONFIG_LINUX_FALLOCATE
{ .ival = "falloc",
.help = "fallocate() file based engine",
},
},
.parent = "nrfiles",
},
-#ifdef FIO_HAVE_FALLOCATE
+#ifdef CONFIG_POSIX_FALLOCATE
{
.name = "fallocate",
.type = FIO_OPT_STR,
.oval = FIO_FALLOCATE_POSIX,
.help = "Use posix_fallocate()",
},
-#ifdef FIO_HAVE_LINUX_FALLOCATE
+#ifdef CONFIG_LINUX_FALLOCATE
{ .ival = "keep",
.oval = FIO_FALLOCATE_KEEP_SIZE,
.help = "Use fallocate(..., FALLOC_FL_KEEP_SIZE, ...)",
},
},
},
-#endif /* FIO_HAVE_FALLOCATE */
+#endif /* CONFIG_POSIX_FALLOCATE */
{
.name = "fadvise_hint",
.type = FIO_OPT_BOOL,
.def = "1",
.parent = "verify",
},
+ {
+ .name = "verifysort_nr",
+ .type = FIO_OPT_INT,
+ .off1 = td_var_offset(verifysort_nr),
+ .help = "Pre-load and sort verify blocks for a read workload",
+ .minval = 0,
+ .maxval = 131072,
+ .def = "1024",
+ .parent = "verify",
+ },
{
.name = "verify_interval",
.type = FIO_OPT_INT,
.parent = "verify_async",
},
#endif
+ {
+ .name = "experimental_verify",
+ .off1 = td_var_offset(experimental_verify),
+ .type = FIO_OPT_BOOL,
+ .help = "Enable experimental verification",
+ },
#ifdef FIO_HAVE_TRIM
{
.name = "trim_percentage",