Recent changes (master)
The following changes since commit 5de1d4ba1e6ae82bb4ad559463801cb6b7096ac3:
Merge branch 'readonly-trim' of https://github.com/vincentkfu/fio (2018-06-18 13:58:26 -0600)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 9caaf02b06deecf0b0a13c16b6d59dddc64b8c35:
Merge branch 'doc-norandommap' of https://github.com/larrystevenwise/fio (2018-06-21 11:22:41 -0600)
----------------------------------------------------------------
Jens Axboe (2):
Merge branch 'wip-single-glfs-instance' of https://github.com/zhanghuan/fio
Merge branch 'doc-norandommap' of https://github.com/larrystevenwise/fio
Steve Wise (1):
doc: add text about possibly verify errors with norandommap
Zhang Huan (1):
glusterfs: capable to test with one single glfs instance
HOWTO | 9 ++- engines/gfapi.h | 1 + engines/glusterfs.c | 179 +++++++++++++++++++++++++++++++++++++++++++--------- fio.1 | 9 ++- 4 files changed, 167 insertions(+), 31 deletions(-)
---
Diff of recent changes:
HOWTO +8 -1
@@ -1329,7 +1329,9 @@ I/O type and that some blocks may be read/written more than once. If this option is used with :option:`verify` and multiple blocksizes (via :option:`bsrange`), only intact blocks are verified, i.e., partially-overwritten blocks are - ignored. + ignored. With an async I/O engine and an I/O depth > 1, it is possible for + the same block to be overwritten, which can cause verification errors. Either + do not use norandommap in this case, or also use the lfsr random generator. .. option:: softrandommap=bool
@@ -2663,6 +2665,11 @@ Verification previously written file. If the data direction includes any form of write, the verify will be of the newly written data. + To avoid false verification errors, do not use the norandommap option when + verifying data with async I/O engines and I/O depths > 1. Or use the + norandommap and the lfsr random generator together to avoid writing to the + same offset with muliple outstanding I/Os. + .. option:: verify_offset=int Swap the verification header with data somewhere else in the block before
engines/gfapi.h +1 -0
@@ -5,6 +5,7 @@ struct gf_options {void *pad;char *gf_vol;char *gf_brick; +int gf_single_instance; };struct gf_data {
engines/glusterfs.c +150 -29
215 lines not on this page · raw message
fio.1 +8 -1
@@ -1120,7 +1120,9 @@ at past I/O history. This means that some blocks may not be read or written, and that some blocks may be read/written more than once. If this option is used with \fBverify\fR and multiple blocksizes (via \fBbsrange\fR), only intact blocks are verified, i.e., partially\-overwritten blocks are -ignored. +ignored. With an async I/O engine and an I/O depth > 1, it is possible for +the same block to be overwritten, which can cause verification errors. Either +do not use norandommap in this case, or also use the lfsr random generator. .TP .BI softrandommap \fR=\fPbool See \fBnorandommap\fR. If fio runs with the random block map enabled and
@@ -2370,6 +2372,11 @@ that the written data is also correctly read back. If the data direction given is a read or random read, fio will assume that it should verify a previously written file. If the data direction includes any form of write, the verify will be of the newly written data. +.P +To avoid false verification errors, do not use the norandommap option when +verifying data with async I/O engines and I/O depths > 1. Or use the +norandommap and the lfsr random generator together to avoid writing to the +same offset with muliple outstanding I/Os. .RE .TP .BI verify_offset \fR=\fPint