#ifdef FIO_EXTERNAL_ENGINE
extern "C" {
+static struct ioengine_ops ioengine;
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;
-
- ioengine->name = "cpp_null";
- ioengine->version = FIO_IOOPS_VERSION;
- ioengine->queue = fio_null_queue;
- ioengine->commit = fio_null_commit;
- ioengine->getevents = fio_null_getevents;
- ioengine->event = fio_null_event;
- ioengine->init = fio_null_init;
- ioengine->cleanup = fio_null_cleanup;
- ioengine->open_file = fio_null_open;
- ioengine->flags = FIO_DISKLESSIO | FIO_FAKEIO;
+ *ioengine_ptr = &ioengine;
+
+ ioengine.name = "cpp_null";
+ ioengine.version = FIO_IOOPS_VERSION;
+ ioengine.queue = fio_null_queue;
+ ioengine.commit = fio_null_commit;
+ ioengine.getevents = fio_null_getevents;
+ ioengine.event = fio_null_event;
+ ioengine.init = fio_null_init;
+ ioengine.cleanup = fio_null_cleanup;
+ ioengine.open_file = fio_null_open;
+ ioengine.flags = FIO_DISKLESSIO | FIO_FAKEIO;
}
}
#endif /* FIO_EXTERNAL_ENGINE */