X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=engines%2Flibaio.c;h=9cc910d73bc19fdbb690baa5295131fc0f7addbc;hp=748233c268e1dad4a106c00c4c1497ad62010c0f;hb=954cd73a9a93102c24afa869fbe67ac38af6e416;hpb=2a988d8bcb447eb098fc382835cc507587c6ba66 diff --git a/engines/libaio.c b/engines/libaio.c index 748233c2..9cc910d7 100644 --- a/engines/libaio.c +++ b/engines/libaio.c @@ -9,13 +9,10 @@ #include #include #include +#include #include "../fio.h" -#ifdef FIO_HAVE_LIBAIO - -#define ev_to_iou(ev) (struct io_u *) ((unsigned long) (ev)->obj) - struct libaio_data { io_context_t aio_ctx; struct io_event *aio_events; @@ -36,7 +33,8 @@ static struct fio_option options[] = { .type = FIO_OPT_STR_SET, .off1 = offsetof(struct libaio_options, userspace_reap), .help = "Use alternative user-space reap implementation", - .category = FIO_OPT_C_IO, + .category = FIO_OPT_C_ENGINE, + .group = FIO_OPT_G_LIBAIO, }, { .name = NULL, @@ -64,7 +62,7 @@ static struct io_u *fio_libaio_event(struct thread_data *td, int event) struct io_u *io_u; ev = ld->aio_events + event; - io_u = ev_to_iou(ev); + io_u = container_of(ev->obj, struct io_u, iocb); if (ev->res != io_u->xfer_buflen) { if (ev->res > io_u->xfer_buflen) @@ -308,27 +306,6 @@ static struct ioengine_ops ioengine = { .option_struct_size = sizeof(struct libaio_options), }; -#else /* FIO_HAVE_LIBAIO */ - -/* - * When we have a proper configure system in place, we simply wont build - * and install this io engine. For now install a crippled version that - * just complains and fails to load. - */ -static int fio_libaio_init(struct thread_data fio_unused *td) -{ - log_err("fio: libaio not available\n"); - return 1; -} - -static struct ioengine_ops ioengine = { - .name = "libaio", - .version = FIO_IOOPS_VERSION, - .init = fio_libaio_init, -}; - -#endif - static void fio_init fio_libaio_register(void) { register_ioengine(&ioengine);