static struct io_u *fio_null_event(struct thread_data *td, int event)
{
- struct null_data *nd = (struct null_data *) td->io_ops->data;
+ struct null_data *nd = (struct null_data *) td->io_ops_data;
return nd->io_us[event];
}
static int fio_null_getevents(struct thread_data *td, unsigned int min_events,
unsigned int fio_unused max,
- struct timespec fio_unused *t)
+ const struct timespec fio_unused *t)
{
- struct null_data *nd = (struct null_data *) td->io_ops->data;
+ struct null_data *nd = (struct null_data *) td->io_ops_data;
int ret = 0;
if (min_events) {
static int fio_null_commit(struct thread_data *td)
{
- struct null_data *nd = (struct null_data *) td->io_ops->data;
+ struct null_data *nd = (struct null_data *) td->io_ops_data;
if (!nd->events) {
#ifndef FIO_EXTERNAL_ENGINE
static int fio_null_queue(struct thread_data *td, struct io_u *io_u)
{
- struct null_data *nd = (struct null_data *) td->io_ops->data;
+ struct null_data *nd = (struct null_data *) td->io_ops_data;
fio_ro_check(td, io_u);
static void fio_null_cleanup(struct thread_data *td)
{
- struct null_data *nd = (struct null_data *) td->io_ops->data;
+ struct null_data *nd = (struct null_data *) td->io_ops_data;
if (nd) {
- if (nd->io_us)
- free(nd->io_us);
+ free(nd->io_us);
free(nd);
}
}
} else
td->io_ops->flags |= FIO_SYNCIO;
- td->io_ops->data = nd;
+ td->io_ops_data = nd;
return 0;
}
.init = fio_null_init,
.cleanup = fio_null_cleanup,
.open_file = fio_null_open,
- .flags = FIO_DISKLESSIO,
+ .flags = FIO_DISKLESSIO | FIO_FAKEIO,
};
static void fio_init fio_null_register(void)
ioengine->init = fio_null_init;
ioengine->cleanup = fio_null_cleanup;
ioengine->open_file = fio_null_open;
- ioengine->flags = FIO_DISKLESSIO;
+ ioengine->flags = FIO_DISKLESSIO | FIO_FAKEIO;
}
}
#endif /* FIO_EXTERNAL_ENGINE */