Re: Linux 2.6.29

From: Linus Torvalds
Date: Fri Mar 27 2009 - 14:26:54 EST




On Fri, 27 Mar 2009, Linus Torvalds wrote:
>
> Yes, some editors (vi, emacs) do it, but even there it's configurable.

.. and looking at history, it's even pretty modern. From the vim logs:

Patch 6.2.499
Problem: When writing a file and halting the system, the file might be lost
when using a journalling file system.
Solution: Use fsync() to flush the file data to disk after writing a file.
(Radim Kolar)
Files: src/fileio.c

so it looks (assuming those patch numbers mean what they would seem to
mean) that 'fsync()' in vim is from after 6.2 was released. Some time in
2004.

So traditionally, even solid "good" programs like major editors never
tried to fsync() their files.

Btw, googling for that 6.2.499 patch also shows that people were rather
unhappy with it. Why? It causes disk spinups in laptop mode etc. Which is
very much not what you want to see for power reasons.

So there are other, really fundamental, reasons why applications that
don't have the "mailspool must not be lost" kind of critical issues to
absolutely NOT use fsync(). Those applications would be much better off
with some softer hint that can take things like laptop mode into account.

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/