summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <jaxboe@fusionio.com>2011-01-12 09:03:23 +0100
committerJens Axboe <jaxboe@fusionio.com>2011-01-12 09:03:23 +0100
commitb463e9363b826d5ba4f16e0115a26f24b77078f4 (patch)
tree44185d6b2caca8a1bd33d4a1248ddbad7287976f
parent4aae38a645f3315ca2f8cc57a7ec4110ba7d8319 (diff)
downloadfio-b463e9363b826d5ba4f16e0115a26f24b77078f4.tar.gz
fio-b463e9363b826d5ba4f16e0115a26f24b77078f4.tar.bz2
Add verify_dump option to control whether to dump bad/good blocks or not
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
-rw-r--r--HOWTO5
-rw-r--r--fio.15
-rw-r--r--fio.h1
-rw-r--r--options.c8
4 files changed, 19 insertions, 0 deletions
diff --git a/HOWTO b/HOWTO
index 1915bd69..68e17e9f 100644
--- a/HOWTO
+++ b/HOWTO
@@ -926,6 +926,11 @@ verify_fatal=bool Normally fio will keep checking the entire contents
option is set, fio will exit the job on the first observed
failure.
+verify_dump=bool If set, dump the contents of both the original data
+ block and the data block we read off disk to files. This
+ allows later analysis to inspect just what kind of data
+ corruption occurred. On by default.
+
verify_async=int Fio will normally verify IO inline from the submitting
thread. This option takes an integer describing how many
async offload threads to create for IO verification instead,
diff --git a/fio.1 b/fio.1
index 4445c71f..d372727b 100644
--- a/fio.1
+++ b/fio.1
@@ -692,6 +692,11 @@ has to be a hex number that starts with either "0x" or "0X". Use with
If true, exit the job on the first observed verification failure. Default:
false.
.TP
+.BI verify_dump \fR=\fPbool
+If set, dump the contents of both the original data block and the data block we
+read off disk to files. This allows later analysis to inspect just what kind of
+data corruption occurred. On by default.
+.TP
.BI verify_async \fR=\fPint
Fio will normally verify IO inline from the submitting thread. This option
takes an integer describing how many async offload threads to create for IO
diff --git a/fio.h b/fio.h
index 95988584..05aec80d 100644
--- a/fio.h
+++ b/fio.h
@@ -197,6 +197,7 @@ struct thread_options {
char verify_pattern[MAX_PATTERN_SIZE];
unsigned int verify_pattern_bytes;
unsigned int verify_fatal;
+ unsigned int verify_dump;
unsigned int verify_async;
unsigned long long verify_backlog;
unsigned int verify_batch;
diff --git a/options.c b/options.c
index ae5bcc5b..37e68d26 100644
--- a/options.c
+++ b/options.c
@@ -1467,6 +1467,14 @@ static struct fio_option options[FIO_MAX_OPTS] = {
.parent = "verify",
},
{
+ .name = "verify_dump",
+ .type = FIO_OPT_BOOL,
+ .off1 = td_var_offset(verify_dump),
+ .def = "1",
+ .help = "Dump contents of good and bad blocks on failure",
+ .parent = "verify",
+ },
+ {
.name = "verify_async",
.type = FIO_OPT_INT,
.off1 = td_var_offset(verify_async),