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)
#ifdef FIO_EXTERNAL_ENGINE
extern "C" {
-void get_ioengine(struct ioengine_ops **ioengine_ptr) {
+void get_ioengine(struct ioengine_ops **ioengine_ptr)
+{
struct ioengine_ops *ioengine;
+
*ioengine_ptr = (struct ioengine_ops *) malloc(sizeof(struct ioengine_ops));
ioengine = *ioengine_ptr;
- strcpy(ioengine->name, "cpp_null");
+ ioengine->name = "cpp_null";
ioengine->version = FIO_IOOPS_VERSION;
ioengine->queue = fio_null_queue;
ioengine->commit = fio_null_commit;
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 */