Document that write_iolog is unsafe for concurrent jobs
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Sat, 8 Jan 2011 19:28:41 +0000 (20:28 +0100)
committerJens Axboe <jaxboe@fusionio.com>
Sat, 8 Jan 2011 19:28:41 +0000 (20:28 +0100)
The write_iolog parameter should not be used in the global section since
each job will independently write to the same file.  The output will be
interspersed and the file will be corrupt.

Document that each job should write to its own iolog file.  This will
save users time when trying out the iolog feature for the first time.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Updated by me to make the same change to the man page.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
HOWTO
README
fio.1

diff --git a/HOWTO b/HOWTO
index dc21afc039d36456e41ea215b4c2917274ecc74f..7c943294ecfb838ec79ab1f6d558ab4390e2be32 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -988,7 +988,8 @@ zoneskip=int        Skip the specified number of bytes when zonesize data has
                io on zones of a file.
 
 write_iolog=str        Write the issued io patterns to the specified file. See
                io on zones of a file.
 
 write_iolog=str        Write the issued io patterns to the specified file. See
-               read_iolog.
+               read_iolog.  Specify a separate file for each job, otherwise
+               the iologs will be interspersed and the file may be corrupt.
 
 read_iolog=str Open an iolog with the specified file name and replay the
                io patterns it contains. This can be used to store a
 
 read_iolog=str Open an iolog with the specified file name and replay the
                io patterns it contains. This can be used to store a
diff --git a/README b/README
index 0f91c66ff6430123032cf890f9bed826401ea4b3..de06fb10ad4031ebe5d727630c7171db6ad22dd6 100644 (file)
--- a/README
+++ b/README
@@ -274,7 +274,9 @@ The job file parameters are:
                        and length entries being in bytes.
        write_iolog=x   Write an iolog to file 'x' in the same format as iolog.
                        The iolog options are exclusive, if both given the
                        and length entries being in bytes.
        write_iolog=x   Write an iolog to file 'x' in the same format as iolog.
                        The iolog options are exclusive, if both given the
-                       read iolog will be performed.
+                       read iolog will be performed.  Specify a separate file
+                       for each job, otherwise the iologs will be interspersed
+                       and the file may be corrupt.
        write_bw_log    Write a bandwidth log.
        write_lat_log   Write a latency log.
        lockmem=x       Lock down x amount of memory on the machine, to
        write_bw_log    Write a bandwidth log.
        write_lat_log   Write a latency log.
        lockmem=x       Lock down x amount of memory on the machine, to
diff --git a/fio.1 b/fio.1
index eaa1c408843443bc0cfa9d45502d453c054c701c..1f1116c9ce59c0e49a52411b08dfb99214bdd7a7 100644 (file)
--- a/fio.1
+++ b/fio.1
@@ -743,7 +743,9 @@ Skip the specified number of bytes when \fBzonesize\fR bytes of data have been
 read.
 .TP
 .BI write_iolog \fR=\fPstr
 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
 .TP
 .BI read_iolog \fR=\fPstr
 Replay the I/O patterns contained in the specified file generated by