Pass O_DIRECT/O_SYNC to glfs_open if requested.
authorTiziano Müller <tiziano.mueller@stepping-stone.ch>
Thu, 3 Jul 2014 14:48:39 +0000 (16:48 +0200)
committerJens Axboe <axboe@fb.com>
Thu, 3 Jul 2014 15:13:58 +0000 (09:13 -0600)
GlusterFS supports O_DIRECT and O_SYNC.

Signed-off-by: Jens Axboe <axboe@fb.com>
engines/glusterfs.c

index b233b207eb49dec4e5477b16d83de48d1a7f31b0..94daab5a2936a0052ed6fb8f3a3b11b068c76358 100644 (file)
@@ -150,8 +150,14 @@ int fio_gf_open_file(struct thread_data *td, struct fio_file *f)
                else
                        flags = O_RDONLY;
        }
+
+       if (td->o.odirect)
+               flags |= OS_O_DIRECT;
+       if (td->o.sync_io)
+               flags |= O_SYNC;
+
        dprint(FD_FILE, "fio file %s open mode %s td rw %s\n", f->file_name,
-              flags == O_RDONLY ? "ro" : "rw", td_read(td) ? "read" : "write");
+              flags & O_RDONLY ? "ro" : "rw", td_read(td) ? "read" : "write");
        g->fd = glfs_creat(g->fs, f->file_name, flags, 0644);
        if (!g->fd) {
                log_err("glfs_creat failed.\n");