Fix issue with fill_device=1 and continue_on_error
I added a change so when both the continue_on_error and fill_device
option is on, when it hits ENOSPC issue the code ignores the error.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.c b/fio.c
index 63d9a1b..f6ed89f 100644
--- a/fio.c
+++ b/fio.c
@@ -388,21 +388,29 @@
else
err = td->error;
- update_error_count(td, err);
-
if (td_non_fatal_error(err)) {
/*
* Continue with the I/Os in case of
* a non fatal error.
*/
+ update_error_count(td, err);
td_clear_error(td);
*retptr = 0;
return 0;
+ } else if (td->o.fill_device && err == ENOSPC) {
+ /*
+ * We expect to hit this error if
+ * fill_device option is set.
+ */
+ td_clear_error(td);
+ td->terminate = 1;
+ return 1;
} else {
/*
* Stop the I/O in case of a fatal
* error.
*/
+ update_error_count(td, err);
return 1;
}
}