[Pvfs2-developers] Re: pvfs fuse interface

Murali Vilayannur murali.vilayannur at gmail.com
Fri Aug 17 13:02:48 EDT 2007


Hi John,

> > Using direct_io avoids the page cache.  Basicaly, direct_io calls
> > back almost immediately into the user space code rather than going
> > through the generic_file_read/write path.  What that also means is
> > that some attrs may not get updated properly if they are getting
> > cached in the kernel.

I did not think that using O_DIRECT causes coherence issues in the VFS caches.
that would be disastrous for databases that rely on O_DIRECT, no?
What attrs don't get updated?

> > O_DIRECT doesn't work in FUSE.  The kernel throws it back on open
> > with an EINVAL.

fuse does not implement the direct_IO or get_xip_page callback in
address_space_operations. Hence EINVAL.

> >
> > Hope I could help.  If you are planning on using the Fuse code that I
> > did, there needs to be some significant testing on your workloads.
> > Also, one major problem with my code is that it doesnt work with
> > multithreaded fuse.

Even if the problem were to be fixed in your code it still wouldn't
work because the PVFS system interfaces are not reentrant.
thanks for the answers!
Murali


More information about the Pvfs2-developers mailing list