X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=engines%2Fglusterfs_async.c;h=0392ad6e3f1315c9f8214272ee2b98e2ebfa7455;hb=c1f6f32ea74316df1e8707eba4fb95ab14fae6f7;hp=f46cb263dd781e9f1180d8b19b8ec5c2eb157f04;hpb=78475ac3b9453eff01c34778d70a2aed4aecffe8;p=fio.git diff --git a/engines/glusterfs_async.c b/engines/glusterfs_async.c index f46cb263..0392ad6e 100644 --- a/engines/glusterfs_async.c +++ b/engines/glusterfs_async.c @@ -70,34 +70,36 @@ static void fio_gf_io_u_free(struct thread_data *td, struct io_u *io_u) static int fio_gf_io_u_init(struct thread_data *td, struct io_u *io_u) { + struct fio_gf_iou *io; dprint(FD_FILE, "%s\n", __FUNCTION__); - - if (!io_u->engine_data) { - struct fio_gf_iou *io; - - io = malloc(sizeof(struct fio_gf_iou)); - if (!io) { - td_verror(td, errno, "malloc"); - return 1; - } - io->io_complete = 0; - io->io_u = io_u; - io_u->engine_data = io; - } + + io = malloc(sizeof(struct fio_gf_iou)); + if (!io) { + td_verror(td, errno, "malloc"); + return 1; + } + io->io_complete = 0; + io->io_u = io_u; + io_u->engine_data = io; return 0; } +#if defined(CONFIG_GF_NEW_API) +static void gf_async_cb(glfs_fd_t * fd, ssize_t ret, struct glfs_stat *prestat, + struct glfs_stat *poststat, void *data) +#else static void gf_async_cb(glfs_fd_t * fd, ssize_t ret, void *data) +#endif { struct io_u *io_u = data; struct fio_gf_iou *iou = io_u->engine_data; - dprint(FD_IO, "%s ret %lu\n", __FUNCTION__, ret); + dprint(FD_IO, "%s ret %zd\n", __FUNCTION__, ret); iou->io_complete = 1; } -static int fio_gf_async_queue(struct thread_data fio_unused * td, - struct io_u *io_u) +static enum fio_q_status fio_gf_async_queue(struct thread_data fio_unused * td, + struct io_u *io_u) { struct gf_data *g = td->io_ops_data; int r;