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 <bill at uit.com.cn> 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 > Gluster-users at gluster.org > http://gluster.org/cgi-bin/mailman/listinfo/gluster-users >