On Mon, Aug 11, 2014 at 9:14 PM, Emmanuel Dreyfus <[email protected]> wrote:
> Anand Avati <[email protected]> wrote: > > > In meta all file sizes are 0 (since the contents of the inode are > generated > > dynamically on open()/read(), size is unknown during lookup() -- just > like > > /proc). And therefore all meta file open()s are forced into > direct_io_mode ( > > http://review.gluster.org/7506) so that read() requests are sent > straight > > to FUSE/glusterfs bypassing VFS (size is ignored etc.) > > I found the code in the kernel that skips the read if it is beyond known > file size. Hence I guess the idea is that on lookup of a file with a > size equal to 0, a special handling should be done so that reads happens > anyway. 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? At least it hasn't been necessary in Linux FUSE implementation.
_______________________________________________ Gluster-devel mailing list [email protected] http://supercolony.gluster.org/mailman/listinfo/gluster-devel
