Add documentation for 'sync_file_range'
authorJens Axboe <jens.axboe@oracle.com>
Tue, 9 Mar 2010 19:49:54 +0000 (20:49 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 9 Mar 2010 19:49:54 +0000 (20:49 +0100)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
HOWTO
fio.1

diff --git a/HOWTO b/HOWTO
index 886515b7aa754527070ee24ab785d66abb5b0b3e..6c7f05b9efde3334e5260b4c86371216d43de3b3 100644 (file)
--- a/HOWTO
+++ b/HOWTO
@@ -566,11 +566,25 @@ fsync=int If writing to a file, issue a sync of the dirty data
                not sync the file. The exception is the sg io engine, which
                synchronizes the disk cache anyway.
 
                not sync the file. The exception is the sg io engine, which
                synchronizes the disk cache anyway.
 
-fsyncdata=int  Like fsync= but uses fdatasync() to only sync data and not
+fdatasync=int  Like fsync= but uses fdatasync() to only sync data and not
                metadata blocks.
                In FreeBSD there is no fdatasync(), this falls back to
                using fsync()
 
                metadata blocks.
                In FreeBSD there is no fdatasync(), this falls back to
                using fsync()
 
+sync_file_range=str:val        Use sync_file_range() for every 'val' number of
+               write operations. Fio will track range of writes that
+               have happened since the last sync_file_range() call. 'str'
+               can currently be one or more of:
+
+               wait_before     SYNC_FILE_RANGE_WAIT_BEFORE
+               write           SYNC_FILE_RANGE_WRITE
+               wait_after      SYNC_FILE_RANGE_WAIT_AFTER
+
+               So if you do sync_file_range=wait_before,write:8, fio would
+               use SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE for
+               every 8 writes. Also see the sync_file_range(2) man page.
+               This option is Linux specific.
+
 overwrite=bool If true, writes to a file will always overwrite existing
                data. If the file doesn't already exist, it will be
                created before the write phase begins. If the file exists
 overwrite=bool If true, writes to a file will always overwrite existing
                data. If the file doesn't already exist, it will be
                created before the write phase begins. If the file exists
diff --git a/fio.1 b/fio.1
index 60f787a140940f9ad5888c84fd96cf8e60f456ff..5d0988b2cef496bfd8cd945aba0f332f04dee9ac 100644 (file)
--- a/fio.1
+++ b/fio.1
@@ -380,6 +380,27 @@ How many I/Os to perform before issuing an \fBfsync\fR\|(2) of dirty data.  If
 Like \fBfsync\fR, but uses \fBfdatasync\fR\|(2) instead to only sync the
 data parts of the file. Default: 0.
 .TP
 Like \fBfsync\fR, but uses \fBfdatasync\fR\|(2) instead to only sync the
 data parts of the file. Default: 0.
 .TP
+.BI sync_file_range \fR=\fPstr:int
+Use sync_file_range() for every \fRval\fP number of write operations. Fio will
+track range of writes that have happened since the last sync_file_range() call.
+\fRstr\fP can currently be one or more of:
+.RS
+.TP
+.B wait_before
+SYNC_FILE_RANGE_WAIT_BEFORE
+.TP
+.B write
+SYNC_FILE_RANGE_WRITE
+.TP
+.B wait_after
+SYNC_FILE_RANGE_WRITE
+.TP
+.RE
+.P
+So if you do sync_file_range=wait_before,write:8, fio would use
+\fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP for every 8 writes.
+Also see the sync_file_range(2) man page.  This option is Linux specific.
+.TP
 .BI overwrite \fR=\fPbool
 If writing, setup the file first and do overwrites.  Default: false.
 .TP
 .BI overwrite \fR=\fPbool
 If writing, setup the file first and do overwrites.  Default: false.
 .TP