[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
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
-------------- 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