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.
 
-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()
 
+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
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
+.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