X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=engines%2Fnull.c;h=f7ba37048244b6683d6c4dd2c2fcceaefb6efe8b;hb=14a74557d9f7737a7b2427aef151475d5ce3937c;hp=9f9d8500b0516d393b756a10d1be5f9f19f00c59;hpb=46a674786944e964517dd652fbf41807c9395cc4;p=fio.git diff --git a/engines/null.c b/engines/null.c index 9f9d8500..f7ba3704 100644 --- a/engines/null.c +++ b/engines/null.c @@ -25,16 +25,16 @@ struct null_data { 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) { @@ -47,7 +47,7 @@ static int fio_null_getevents(struct thread_data *td, unsigned int 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 @@ -62,7 +62,7 @@ static int fio_null_commit(struct thread_data *td) 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); @@ -83,11 +83,10 @@ static int fio_null_open(struct thread_data fio_unused *td, 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); } } @@ -104,7 +103,7 @@ static int fio_null_init(struct thread_data *td) } else td->io_ops->flags |= FIO_SYNCIO; - td->io_ops->data = nd; + td->io_ops_data = nd; return 0; } @@ -119,7 +118,7 @@ static struct ioengine_ops ioengine = { .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) @@ -136,8 +135,10 @@ static void fio_exit fio_null_unregister(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; @@ -150,7 +151,7 @@ void get_ioengine(struct ioengine_ops **ioengine_ptr) { 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 */