On Mon, Aug 11, 2014 at 10:36 PM, Emmanuel Dreyfus <[email protected]> wrote:

> Anand Avati <[email protected]> wrote:
>
> > If FUSE implements proper direct_io semantics (somewhat like how O_DIRECT
> > flag is handled) and allows the mode to be enabled by the FS in open_cbk,
> > then I guess such a special handling of 0-byte need not be necessary?
>
> Yes, this is how it should be done.
>
> While there I see there is a FUSE_FOPEN_KEEP_CACHE  and
> FUSE_FOPEN_NONSEEKABLE. I assume the later means seek should return an
> error (which one?), but what does the first one do?
>
> There is no real documentation about this aside from Linux kernel
> sources...


In Linux FUSE, an open() call automatically invalidates all pages of that
inode. However if FOPEN_KEEP_CACHE is set in open_cbk, the page cache is
kept intact (assuming mtime has not changed etc.)

See
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/fs/fuse/file.c#n207

Thanks
_______________________________________________
Gluster-devel mailing list
[email protected]
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

Reply via email to