From: Jens Axboe Date: Mon, 6 Jul 2009 11:51:05 +0000 (+0200) Subject: Make async IO verify offload handle errors properly X-Git-Tag: fio-1.31~7 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=d561f2ab37ef5729882ef3c6e6ed8ee49414955f Make async IO verify offload handle errors properly Signed-off-by: Jens Axboe --- diff --git a/verify.c b/verify.c index 978e77b8..871a36de 100644 --- a/verify.c +++ b/verify.c @@ -783,11 +783,24 @@ static void *verify_async_thread(void *data) io_u = flist_entry(list.next, struct io_u, list); flist_del_init(&io_u->list); - ret |= verify_io_u(td, io_u); + ret = verify_io_u(td, io_u); put_io_u(td, io_u); + if (!ret) + continue; + if (td->o.continue_on_error && + td_non_fatal_error(ret)) { + update_error_count(td, ret); + td_clear_error(td); + ret = 0; + } } } while (!ret); + if (ret) { + td_verror(td, ret, "async_verify"); + td->terminate = 1; + } + done: pthread_mutex_lock(&td->io_u_lock); td->nr_verify_threads--;