From 9978463287982c2f73f171ec9a79979939dee47a Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 19 Feb 2007 10:06:17 +0100 Subject: [PATCH] Differentiate between bool error return and real error value Signed-off-by: Jens Axboe --- fio.c | 9 ++++++--- io_u.c | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/fio.c b/fio.c index 78deaf66..6e78949b 100644 --- a/fio.c +++ b/fio.c @@ -279,7 +279,8 @@ requeue: io_u->xfer_buf += bytes; goto requeue; } - if (io_u_sync_complete(td, io_u, verify_io_u)) + ret = io_u_sync_complete(td, io_u, verify_io_u); + if (ret) break; continue; case FIO_Q_QUEUED: @@ -290,7 +291,7 @@ requeue: break; } - if (ret < 0) + if (ret < 0 || td->error) break; /* @@ -397,6 +398,8 @@ requeue: } fio_gettime(&comp_time, NULL); bytes_done = io_u_sync_complete(td, io_u, NULL); + if (bytes_done < 0) + ret = bytes_done; break; case FIO_Q_QUEUED: break; @@ -406,7 +409,7 @@ requeue: break; } - if (ret < 0) + if (ret < 0 || td->error) break; add_slat_sample(td, io_u->ddir, mtime_since(&io_u->start_time, &io_u->issue_time)); diff --git a/io_u.c b/io_u.c index b0e91e7a..c04c9de0 100644 --- a/io_u.c +++ b/io_u.c @@ -465,7 +465,6 @@ long io_u_sync_complete(struct thread_data *td, struct io_u *io_u, if (!icd.error) return icd.bytes_done[0] + icd.bytes_done[1]; - td_verror(td, icd.error); return -1; } @@ -493,6 +492,5 @@ long io_u_queued_complete(struct thread_data *td, int min_events, if (!icd.error) return icd.bytes_done[0] + icd.bytes_done[1]; - td_verror(td, icd.error); return -1; } -- 2.25.1