Re: [PATCH 0/3] Ext3 latency improvement patches

Theodore Tso
2009-03-27T23:09:23Z

On Fri, Mar 27, 2009 at 10:54:54PM +0100, Jan Kara wrote:
> Yes, but OTOH this will make the problem "my data was lost after crash"
> worse... Although rewrites aren't that common either so maybe it won't
> be that bad.

The real question is how many applications actually do random access
I/O to rewrite blocks and *don't* use fsync()? Most of the
applications which do block rewrites are databases, and those folks
generally pay very close attention to using synchronization primiives.
It's the people use the standard I/O interfaces, or and who end up
rewriting files by replacing them outright that tend to lose.

OTOH, the really big databases will tend to use direct I/O, so they
won't be dirtying the page cache anyway. So maybe it's not worth the
effort; it's not clear what workloads will do huge numbers of block
rewrites in the first place. Your test program does, of course, but
the question is whether that happens a lot in real life, and so it's
an open question whether we should optimize for it, and whether we can
assume that applications which do this tend to be databases like
sqlite that are quite anal already about calling fsync().

- Ted