X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengines.c;h=f8c52e572dc59172303a28b0008e7d95e0a318d4;hb=366badd3f5c92433b1972ac85e2b4ef46b441011;hp=155649b4007ff765f1277b96c6889286de205d72;hpb=0a28ecda80a78c9d70ae38ced58f3a2fa9c9529d;p=fio.git diff --git a/ioengines.c b/ioengines.c index 155649b4..f8c52e57 100644 --- a/ioengines.c +++ b/ioengines.c @@ -207,6 +207,9 @@ int td_io_getevents(struct thread_data *td, unsigned int min, unsigned int max, out: if (r >= 0) io_u_mark_complete(td, r); + else + td_verror(td, r, "get_events"); + dprint(FD_IO, "getevents: %d\n", r); return r; } @@ -314,6 +317,8 @@ int td_io_init(struct thread_data *td) int td_io_commit(struct thread_data *td) { + int ret; + dprint(FD_IO, "calling ->commit(), depth %d\n", td->cur_depth); if (!td->cur_depth || !td->io_u_queued) @@ -322,8 +327,11 @@ int td_io_commit(struct thread_data *td) io_u_mark_depth(td, td->io_u_queued); td->io_u_queued = 0; - if (td->io_ops->commit) - return td->io_ops->commit(td); + if (td->io_ops->commit) { + ret = td->io_ops->commit(td); + if (ret) + td_verror(td, -ret, "io commit"); + } return 0; } @@ -465,5 +473,8 @@ int do_io_u_sync(struct thread_data *td, struct io_u *io_u) io_u->error = EINVAL; } + if (ret < 0) + io_u->error = errno; + return ret; }