Currently, FUSE doesn't support O_DIRECT, If you need to use O_DIRECT with a FUSE mounted volume, you should check out liboindirect. https://github.com/avati/liboindirect
There have been patches submitted to the FUSE project to properly support O_DIRECT, but they have not been accepted yet. -- Adam Tygart Beocat Sysadmin On Tue, Mar 13, 2012 at 20:59, Bill Bao <[email protected]> wrote: > 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 > enable” > > 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 > O_DIRECT). > > > > Then we trace to the fuse module in the kernel, which has following > checking: > > > > 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 > > > > > > > > > > > > > _______________________________________________ > Gluster-users mailing list > [email protected] > http://gluster.org/cgi-bin/mailman/listinfo/gluster-users > _______________________________________________ Gluster-users mailing list [email protected] http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
