Shows where the error occured, not where it got noticed.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
if (ret <= 0) {
io_u->resid = io_u->xfer_buflen;
io_u->error = -ret;
+ td_verror(td, io_u->error);
return 1;
}
if (!io_u->error)
sd->last_io_u = io_u;
+ else
+ td_verror(td, io_u->error);
return io_u->error;
}
if (!io_u->error)
nd->last_io_u = io_u;
+ else
+ td_verror(td, io_u->error);
return io_u->error;
}
else
ret = aio_fsync(O_SYNC, aiocb);
- if (ret)
+ if (ret) {
io_u->error = errno;
+ td_verror(td, io_u->error);
+ }
return io_u->error;
}
io_u->error = EIO;
}
- return io_u->error;
+ if (io_u->error) {
+ td_verror(td, io_u->error);
+ return io_u->error;
+ }
+
+ return 0;
}
static struct io_u *fio_sgio_event(struct thread_data *td, int event)
if (!io_u->error)
sd->last_io_u = io_u;
+ else
+ td_verror(td, io_u->error);
return io_u->error;
}
if (!io_u->error)
sd->last_io_u = io_u;
+ else
+ td_verror(td, io_u->error);
return io_u->error;
}
io_u->xfer_buf += ret;
goto requeue;
} else {
- td_verror(td, io_u->error);
put_io_u(td, io_u);
break;
}