On Sat, 17 Jan 2009, Miklos Szeredi wrote:
> On Sat, 17 Jan 2009, Szabolcs Szakacsits wrote:
> > On Sat, 17 Jan 2009, Miklos Szeredi wrote:
> > >
> > > Have a look at fs/direct-io.c in the linux tree. OK, some of that
> > > deals with asynchronous I/O, but there are some hairy locking issues
> > > in there, and still bugs are popping up where the interation of direct
> > > I/O and buffered I/O is causing problems.
> > >
> > > Believe me, it's far from trivial.
> > Are these issues FUSE only or true for the other file systems as well?
> They are true for other filesystems as well. FUSE doesn't have
> O_DIRECT support, which means it's free from all of its problems.
That's what I thought :-D
Historyically Linux always had this problem and users of O_DIRECT (should
be) aware of shooting themself on the foot if they don't care about this.
E.g. using your classical example, admins do not backup such databases
with ordinary backup tools but with a special one which takes care about
O_DIRECT (and O_STREAM) would be needed. O_DIRECT support regularly asked
for and it could be also benefitial on the very low-end, e.g. doing data
streaming when other, related data could be cached by default which is not
possible by direct_io.
Currently we have a situation when FUSE is "worse" because it's better.