Linux native asynchronous I/O.
.TP
.B posixaio
-glibc POSIX asynchronous I/O using \fIaio_read\fR\|(3) and \fIaio_write\fR\|(3).
+POSIX asynchronous I/O using \fIaio_read\fR\|(3) and \fIaio_write\fR\|(3).
+.TP
+.B solarisaio
+Solaris native asynchronous I/O.
+.TP
+.B windowsaio
+Windows native asynchronous I/O.
.TP
.B mmap
File is memory mapped with \fImmap\fR\|(2) and data copied using
.BI iodepth \fR=\fPint
Number of I/O units to keep in flight against the file. Note that increasing
iodepth beyond 1 will not affect synchronous ioengines (except for small
-degress when verify_async is in use). Default: 1.
+degress when verify_async is in use). Even async engines my impose OS
+restrictions causing the desired depth not to be achieved. This may happen on
+Linux when using libaio and not setting \fBdirect\fR=1, since buffered IO is
+not async on that OS. Keep an eye on the IO depth distribution in the
+fio output to verify that the achieved depth is as expected. Default: 1.
.TP
.BI iodepth_batch \fR=\fPint
Number of I/Os to submit at once. Default: \fBiodepth\fR.
If true, exit the job on the first observed verification failure. Default:
false.
.TP
+.BI verify_dump \fR=\fPbool
+If set, dump the contents of both the original data block and the data block we
+read off disk to files. This allows later analysis to inspect just what kind of
+data corruption occurred. On by default.
+.TP
.BI verify_async \fR=\fPint
Fio will normally verify IO inline from the submitting thread. This option
takes an integer describing how many async offload threads to create for IO
read.
.TP
.BI write_iolog \fR=\fPstr
-Write the issued I/O patterns to the specified file.
+Write the issued I/O patterns to the specified file. Specify a separate file
+for each job, otherwise the iologs will be interspersed and the file may be
+corrupt.
.TP
.BI read_iolog \fR=\fPstr
Replay the I/O patterns contained in the specified file generated by