randrepeat=bool For random IO workloads, seed the generator in a predictable
way so that results are repeatable across repetitions.
+use_os_rand=bool Fio can either use the random generator supplied by the OS
+ to generator random offsets, or it can use it's own internal
+ generator (based on Tausworthe). Default is to use the
+ internal generator, which is often of better quality and
+ faster.
+
fallocate=bool By default, fio will use fallocate() to advise the system
of the size of the file we are going to write. This can be
turned off with fallocate=0. May not be available on all
- supported platforms.
+ supported platforms. If using ZFS on Solaris this must be
+ set to 0 because ZFS doesn't support it.
fadvise_hint=bool By default, fio will use fadvise() to advise the kernel
on what IO patterns it is likely to issue. Sometimes you
and limited to 'size' in total (if that is given). If not
given, each created file is the same size.
-fill_device=bool Sets size to something really large and waits for ENOSPC (no
+fill_device=bool
+fill_fs=bool Sets size to something really large and waits for ENOSPC (no
space left on device) as the terminating condition. Only makes
sense with sequential write. For a read workload, the mount
- point will be filled first then IO started on the result.
+ point will be filled first then IO started on the result. This
+ option doesn't make sense if operating on a raw device node,
+ since the size of that is already known by the file system.
+ Additionally, writing beyond end-of-device will not return
+ ENOSPC there.
blocksize=int
bs=int The block size used for the io units. Defaults to 4k. Values
job, can be overridden with a larger value for higher
concurrency. Note that increasing iodepth beyond 1 will not
affect synchronous ioengines (except for small degress when
- verify_async is in use). Even async engines my impose OS
+ verify_async is in use). Even async engines may impose OS
restrictions causing the desired depth not to be achieved.
This may happen on Linux when using libaio and not setting
direct=1, since buffered IO is not async on that OS. Keep an
the depth drain down to 4 before starting to fill it again.
direct=bool If value is true, use non-buffered io. This is usually
- O_DIRECT.
+ O_DIRECT. Note that ZFS on Solaris doesn't support direct io.
buffered=bool If value is true, use buffered io. This is the opposite
of the 'direct' option. Defaults to true.
option is set, fio will exit the job on the first observed
failure.
+verify_dump=bool 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.
+
verify_async=int 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 verification instead,