glusterfs: silence printf specifier warnings
[fio.git] / engines / glusterfs_async.c
index 95ca84ef2def417aefb31ce70ce39d44503271af..97271d67f13927f7c95e7e814df42df662f20058 100644 (file)
@@ -13,7 +13,7 @@ struct fio_gf_iou {
 
 static struct io_u *fio_gf_event(struct thread_data *td, int event)
 {
-       struct gf_data *gf_data = td->io_ops->data;
+       struct gf_data *gf_data = td->io_ops_data;
 
        dprint(FD_IO, "%s\n", __FUNCTION__);
        return gf_data->aio_events[event];
@@ -22,7 +22,7 @@ static struct io_u *fio_gf_event(struct thread_data *td, int event)
 static int fio_gf_getevents(struct thread_data *td, unsigned int min,
                            unsigned int max, const struct timespec *t)
 {
-       struct gf_data *g = td->io_ops->data;
+       struct gf_data *g = td->io_ops_data;
        unsigned int events = 0;
        struct io_u *io_u;
        int i;
@@ -92,14 +92,14 @@ static void gf_async_cb(glfs_fd_t * fd, ssize_t ret, void *data)
        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)
 {
-       struct gf_data *g = td->io_ops->data;
+       struct gf_data *g = td->io_ops_data;
        int r;
 
        dprint(FD_IO, "%s op %s\n", __FUNCTION__, io_ddir_name(io_u->ddir));
@@ -117,10 +117,12 @@ static int fio_gf_async_queue(struct thread_data fio_unused * td,
                r = glfs_discard_async(g->fd, io_u->offset, io_u->xfer_buflen,
                                       gf_async_cb, io_u);
 #endif
+       else if (io_u->ddir == DDIR_DATASYNC)
+               r = glfs_fdatasync_async(g->fd, gf_async_cb, io_u);
        else if (io_u->ddir == DDIR_SYNC)
                r = glfs_fsync_async(g->fd, gf_async_cb, io_u);
        else
-               r = -EINVAL;
+               r = EINVAL;
 
        if (r) {
                log_err("glfs queue failed.\n");
@@ -135,7 +137,7 @@ failed:
        return FIO_Q_COMPLETED;
 }
 
-int fio_gf_async_setup(struct thread_data *td)
+static int fio_gf_async_setup(struct thread_data *td)
 {
        struct gf_data *g;
        int r;
@@ -148,7 +150,7 @@ int fio_gf_async_setup(struct thread_data *td)
                return r;
 
        td->o.use_thread = 1;
-       g = td->io_ops->data;
+       g = td->io_ops_data;
        g->aio_events = calloc(td->o.iodepth, sizeof(struct io_u *));
        if (!g->aio_events) {
                r = -ENOMEM;