Mixed random reads and writes.
.RE
.P
-For mixed I/O, the default split is 50/50. For random I/O, the number of I/Os
-to perform before getting a new offset can be specified by appending
-`:\fIint\fR' to the pattern type. The default is 1.
+For mixed I/O, the default split is 50/50. For certain types of io the result
+may still be skewed a bit, since the speed may be different. It is possible to
+specify a number of IO's to do before getting a new offset, this is one by
+appending a `:\fI<nr>\fR to the end of the string given. For a random read, it
+would look like \fBrw=randread:8\fR for passing in an offset modifier with a
+value of 8. See the \fBrw_sequencer\fR option.
.RE
.TP
+.BI rw_sequencer \fR=\fPstr
+If an offset modifier is given by appending a number to the \fBrw=<str>\fR line,
+then this option controls how that number modifies the IO offset being
+generated. Accepted values are:
+.RS
+.RS
+.TP
+.B sequential
+Generate sequential offset
+.TP
+.B identical
+Generate the same offset
+.RE
+.P
+\fBsequential\fR is only useful for random IO, where fio would normally
+generate a new random offset for every IO. If you append eg 8 to randread, you
+would get a new random offset for every 8 IO's. The result would be a seek for
+only every 8 IO's, instead of for every IO. Use \fBrw=randread:8\fR to specify
+that. As sequential IO is already sequential, setting \fBsequential\fR for that
+would not result in any differences. \fBidentical\fR behaves in a similar
+fashion, except it sends the same offset 8 number of times before generating a
+new offset.
+.RE
+.P
+.TP
.BI kb_base \fR=\fPint
The base unit for a kilobyte. The defacto base is 2^10, 1024. Storage
manufacturers like to use 10^3 or 1000 as a base ten unit instead, for obvious
everything is read back and verified. You may want to verify continually
instead for a variety of reasons. Fio stores the meta data associated with an
IO block in memory, so for large verify workloads, quite a bit of memory would
-be used up holding this meta data. If this option is enabled, fio will verify
-the previously written blocks before continuing to write new ones.
+be used up holding this meta data. If this option is enabled, fio will write
+only N blocks before verifying these blocks.
.TP
.BI verify_backlog_batch \fR=\fPint
Control how many blocks fio will verify if verify_backlog is set. If not set,
will default to the value of \fBverify_backlog\fR (meaning the entire queue is
-read back and verified).
+read back and verified). If \fBverify_backlog_batch\fR is less than
+\fBverify_backlog\fR then not all blocks will be verified, if
+\fBverify_backlog_batch\fR is larger than \fBverify_backlog\fR, some blocks
+will be verified more than once.
.TP
.B stonewall
Wait for preceeding jobs in the job file to exit before starting this one.
Replay the I/O patterns contained in the specified file generated by
\fBwrite_iolog\fR, or may be a \fBblktrace\fR binary file.
.TP
+.BI replay_no_stall \fR=\fPint
+While replaying I/O patterns using \fBread_iolog\fR the default behavior
+attempts to respect timing information between I/Os. Enabling
+\fBreplay_no_stall\fR causes I/Os to be replayed as fast as possible while
+still respecting ordering.
+.TP
+.BI replay_redirect \fR=\fPstr
+While replaying I/O patterns using \fBread_iolog\fR the default behavior
+is to replay the IOPS onto the major/minor device that each IOP was recorded
+from. Setting \fBreplay_redirect\fR causes all IOPS to be replayed onto the
+single specified device regardless of the device it was recorded from.
+.TP
.B write_bw_log \fR=\fPstr
If given, write a bandwidth log of the jobs in this job file. Can be used to
store data of the bandwidth of the jobs in their lifetime. The included
graphs. See \fBwrite_log_log\fR for behaviour of given filename. For this
option, the postfix is _bw.log.
.TP
-.B write_lat_log
+.B write_lat_log \fR=\fPstr
Same as \fBwrite_bw_log\fR, but writes I/O completion latencies. If no
filename is given with this option, the default filename of "jobname_type.log"
is used. Even if the filename is given, fio will still append the type of log.
.PD
.SH TERSE OUTPUT
If the \fB\-\-minimal\fR option is given, the results will be printed in a
-semicolon-delimited format suitable for scripted use. The fields are:
+semicolon-delimited format suitable for scripted use - a job description
+(if provided) follows on a new line. Note that the first
+number in the line is the version number. If the output has to be changed
+for some reason, this number will be incremented by 1 to signify that
+change. The fields are:
.P
.RS
-.B jobname, groupid, error
+.B version, jobname, groupid, error
.P
Read status:
.RS
.RS
.B min, max, mean, standard deviation
.RE
+Total latency:
+.RS
+.B min, max, mean, standard deviation
+.RE
Bandwidth:
.RS
.B min, max, aggregate percentage of total, mean, standard deviation
.RS
.B min, max, mean, standard deviation
.RE
+Total latency:
+.RS
+.B min, max, mean, standard deviation
+.RE
Bandwidth:
.RS
.B min, max, aggregate percentage of total, mean, standard deviation
.B <=1, 2, 4, 8, 16, 32, >=64
.RE
.P
-IO latency distribution (ms):
+IO latency distribution:
+.RS
+Microseconds:
+.RS
+.B <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000
+.RE
+Milliseconds:
+.RS
+.B <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, 2000, >=2000
+.RE
+.RE
+.P
+Error Info (dependant on continue_on_error, default off):
.RS
-.B <=2, 4, 10, 20, 50, 100, 250, 500, 750, 1000, >=2000
+.B total # errors, first error code
.RE
.P
-.B text description
+.B text description (if provided in config - appears on newline)
.RE
.SH AUTHORS
.B fio