X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=engines%2Ffio-engine-posixaio.c;h=ef4d78ebe8a58c03465eb33cdc58aa7f90b52d7c;hp=401cd866ba549ee193098f3af54998c6e6aef2fd;hb=5f350952eff89948bfbf1eb6ac4d3d08a9109581;hpb=c7b0818d2a9d1b8597256ea002d9cf9346ea97f3 diff --git a/engines/fio-engine-posixaio.c b/engines/fio-engine-posixaio.c index 401cd866..ef4d78eb 100644 --- a/engines/fio-engine-posixaio.c +++ b/engines/fio-engine-posixaio.c @@ -7,8 +7,9 @@ #include #include #include -#include "fio.h" -#include "os.h" + +#include "../fio.h" +#include "../os.h" #ifdef FIO_HAVE_POSIXAIO @@ -171,13 +172,15 @@ static int fio_posixaio_init(struct thread_data *td) { struct posixaio_data *pd = malloc(sizeof(*pd)); + memset(pd, 0, sizeof(*pd)); pd->aio_events = malloc(td->iodepth * sizeof(struct io_u *)); + memset(pd->aio_events, 0, td->iodepth * sizeof(struct io_u *)); td->io_ops->data = pd; return 0; } -struct ioengine_ops ioengine = { +static struct ioengine_ops ioengine = { .name = "posixaio", .version = FIO_IOOPS_VERSION, .init = fio_posixaio_init, @@ -202,10 +205,20 @@ static int fio_posixaio_init(struct thread_data fio_unused *td) return 1; } -struct ioengine_ops ioengine = { +static struct ioengine_ops ioengine = { .name = "posixaio", .version = FIO_IOOPS_VERSION, .init = fio_posixaio_init, }; #endif + +static void fio_init fio_posixaio_register(void) +{ + register_ioengine(&ioengine); +} + +static void fio_exit fio_posixaio_unregister(void) +{ + unregister_ioengine(&ioengine); +}