From dc3059899f9fae921466413e1a25ef3279a24b3b Mon Sep 17 00:00:00 2001 From: Konstantin Kharlamov Date: Tue, 16 Aug 2022 19:10:38 +0300 Subject: [PATCH] doc: clarify that I/O errors may go unnoticed without direct=1 Fixes: https://github.com/axboe/fio/issues/1443 Reported-by: Konstantin Kharlamov Signed-off-by: Konstantin Kharlamov --- HOWTO.rst | 7 +++++++ fio.1 | 10 ++++++++++ 2 files changed, 17 insertions(+) diff --git a/HOWTO.rst b/HOWTO.rst index c94238ed..08be687c 100644 --- a/HOWTO.rst +++ b/HOWTO.rst @@ -3927,6 +3927,13 @@ Error handling appended, the total error count and the first error. The error field given in the stats is the first error that was hit during the run. + Note: a write error from the device may go unnoticed by fio when using + buffered IO, as the write() (or similar) system call merely dirties the + kernel pages, unless :option:`sync` or :option:`direct` is used. Device IO + errors occur when the dirty data is actually written out to disk. If fully + sync writes aren't desirable, :option:`fsync` or :option:`fdatasync` can be + used as well. This is specific to writes, as reads are always synchronous. + The allowed values are: **none** diff --git a/fio.1 b/fio.1 index d40b4247..27454b0b 100644 --- a/fio.1 +++ b/fio.1 @@ -3606,6 +3606,16 @@ EILSEQ) until the runtime is exceeded or the I/O size specified is completed. If this option is used, there are two more stats that are appended, the total error count and the first error. The error field given in the stats is the first error that was hit during the run. +.RS +.P +Note: a write error from the device may go unnoticed by fio when using buffered +IO, as the write() (or similar) system call merely dirties the kernel pages, +unless `sync' or `direct' is used. Device IO errors occur when the dirty data is +actually written out to disk. If fully sync writes aren't desirable, `fsync' or +`fdatasync' can be used as well. This is specific to writes, as reads are always +synchronous. +.RS +.P The allowed values are: .RS .RS -- 2.25.1