[Gluster-users] does Gluster support O_DIRECT ?

Bill Bao bill at uit.com.cn
Wed Mar 14 01:59:52 UTC 2012

This might be a question asked before, but I just couldn't effectively
search the whole archives,

So please bear me and kindly advise.


We have a 3rd party application (video streaming kind of) which uses
directIO (O_DIRECT).

On the server side, in the posix translator, we added the "option o-direct

On the client side, we mounted as "mount -t glusterfs -o
direct-io-mode=enable server1:/test-volume /mnt/glusterfs"


But the application still fails with error (cannot create/open file with


Then we trace to the fuse module in the kernel, which has following


int fuse_open_common(struct inode *inode, struct file *file, bool isdir)


        struct fuse_conn *fc = get_fuse_conn(inode);

        int err;

        /* VFS checks this, but only _after_ ->open() */

        if (file->f_flags & O_DIRECT)

                return -EINVAL;

        err = generic_file_open(inode, file);


looks like regardless what we configure on the gluster side, the FUSE still
rejects the O_DIRECT.

Could someone shed light ? we're also trying to take out the O_DIRECT
checking in FUSE module,

to see what will happen, will report soon.


Bill Bao






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20120314/e6686c39/attachment.html>

More information about the Gluster-users mailing list