Fix hangs due to iodepth_low
[fio.git] / HOWTO
diff --git a/HOWTO b/HOWTO
index 1c4b308cf3df9bd33d75306cb3e0e2dfd8df4a40..73e58ff695c3384df30094d6c15ebe9ed615460f 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -569,6 +569,8 @@ buffer_pattern=str  If set, fio will fill the io buffers with this pattern.
                If not set, the contents of io buffers is defined by the other
                options related to buffer contents. The setting can be any
                pattern of bytes, and can be prefixed with 0x for hex values.
+               It may also be a string, where the string must then be
+               wrapped with "".
 
 nrfiles=int    Number of files to use for this job. Defaults to 1.
 
@@ -670,15 +672,45 @@ ioengine=str      Defines how the job issues io to the file. The following
                                channel semantics (Send/Recv) for the
                                InfiniBand, RoCE and iWARP protocols.
 
-                       falloc   IO engine that does regular fallocate to
-                                simulate data transfer as fio ioengine.
-                                DDIR_READ  does fallocate(,mode = keep_size,)
-                                DDIR_WRITE does fallocate(,mode = 0)
-                                DDIR_TRIM  does fallocate(,mode = punch_hole)
+                       falloc  IO engine that does regular fallocate to
+                               simulate data transfer as fio ioengine.
+                               DDIR_READ  does fallocate(,mode = keep_size,)
+                               DDIR_WRITE does fallocate(,mode = 0)
+                               DDIR_TRIM  does fallocate(,mode = punch_hole)
 
                        e4defrag IO engine that does regular EXT4_IOC_MOVE_EXT
-                                ioctls to simulate defragment activity in
-                                request to DDIR_WRITE event
+                               ioctls to simulate defragment activity in
+                               request to DDIR_WRITE event
+
+                       rbd     IO engine supporting direct access to Ceph
+                               Rados Block Devices (RBD) via librbd without
+                               the need to use the kernel rbd driver. This
+                               ioengine defines engine specific options.
+
+                       gfapi   Using Glusterfs libgfapi sync interface to
+                               direct access to Glusterfs volumes without
+                               options.
+
+                       gfapi_async Using Glusterfs libgfapi async interface
+                               to direct access to Glusterfs volumes without
+                               having to go through FUSE. This ioengine
+                               defines engine specific options.
+
+                       libhdfs Read and write through Hadoop (HDFS).
+                               The 'filename' option is used to specify host,
+                               port of the hdfs name-node to connect. This
+                               engine interprets offsets a little
+                               differently. In HDFS, files once created
+                               cannot be modified. So random writes are not
+                               possible. To imitate this, libhdfs engine
+                               expects bunch of small files to be created
+                               over HDFS, and engine will randomly pick a
+                               file out of those files based on the offset
+                               generated by fio backend. (see the example
+                               job file to create such files, use rw=write
+                               option). Please note, you might want to set
+                               necessary environment variables to work with
+                               hdfs/libhdfs properly.
 
                        external Prefix to specify loading an external
                                IO engine object file. Append the engine