return io_u;
}
-static int fio_guasi_getevents(struct thread_data *td, int min, int max,
- struct timespec *t)
+static int fio_guasi_getevents(struct thread_data *td, unsigned int min,
+ unsigned int max, struct timespec *t)
{
struct guasi_data *ld = td->io_ops->data;
int n, r;
{
struct guasi_data *ld = td->io_ops->data;
+ fio_ro_check(td, io_u);
+
GDBG_PRINT(("fio_guasi_queue(%p)\n", io_u));
if (ld->queued_nr == (int) td->o.iodepth)
return FIO_Q_BUSY;
struct io_u *io_u;
struct timeval now;
+ io_u_mark_submit(td, nr);
fio_gettime(&now, NULL);
for (i = 0; i < nr; i++) {
io_u = io_us[i];
free(ld->reqs);
free(ld->io_us);
free(ld);
- td->io_ops->data = NULL;
}
GDBG_PRINT(("fio_guasi_cleanup(%p) DONE\n", ld));
}