fio: fix ignore_error regression
authorEric Whitney <enwlinux@gmail.com>
Wed, 3 Feb 2016 23:58:43 +0000 (16:58 -0700)
committerJens Axboe <axboe@fb.com>
Wed, 3 Feb 2016 23:58:43 +0000 (16:58 -0700)
commita0e3e5a676dcc0b0399bf272250046d570fffa82
tree210183edff1e275e713920fc243e148f8314ad36
parentd7bb6180f831091c468e5aa749b142efd5eddda4
fio: fix ignore_error regression

Commit e9d512d8e7d2 introduced a regression affecting handling for
the ignore_error parameter.  The common code for io_u event handling
pulled from do_io() and do_verify() into io_queue_event() does not
check for and process errors that are to be ignored in the main I/O
path as I/Os are completed.  Prior to that commit, do_io() called
break_on_this_error() to handle that case.

The change causes fio to return a non-zero exit status after
encountering an error it should ignore while performing I/O, even
though the job does run to completion. This regression causes
failures for some fstests that use fio, including ext4/302, ext4/303,
and generic/300.

This patch restores the original error handling behavior.

Signed-off-by: Eric Whitney <enwlinux@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
backend.c