From e76b1da43606f86fc23c8acb63114cba0d80a1c7 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Tue, 9 Mar 2010 20:49:54 +0100 Subject: [PATCH 1/1] Add documentation for 'sync_file_range' Signed-off-by: Jens Axboe --- HOWTO | 16 +++++++++++++++- fio.1 | 21 +++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/HOWTO b/HOWTO index 886515b7..6c7f05b9 100644 --- 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 60f787a1..5d0988b2 100644 --- 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 -- 2.25.1