On Mon, May 30, 2011 at 8:45 PM, <david@xxxxxxx> wrote:
the problem is that most users don't know what their system is running, or
what effect disaling fsync would have. those that do can probably use
LD_PRELOAD to override fsync calls.
As we found out, they can't. But if we export barrier, I hope a
library could wrap fsyncs into barriers. Is that the case?
it doesn't take running a mail server, even a mail client will have the same
risk. If you use POP for mail (a very common option) then you download
messages and tell the server to delete them. if you do not really save them
(one fsync after they are all saved), then you can loose everything that you
downloaded.
Yes, I know. It's the same argument again and again. I understand not
everybody wants this. But some do. Some prefer working 10-20% longer
on battery (certainty) instead of possibly losing 5 % data
(possibility) or losing all your data (possibility if you use laptop
mode and the hard disk wakes up again and again and eventually wears
out).
That's why there's laptop mode. And this would play into laptop--
mode and prevent the hard disk from breaking down prematurely and
saving battery.
Please try it out before you say that it's not necessary in your use
case. It's useful and necessary in mine and other mobile use cases.
Please don't assume that all distributions activate this by default
and mailservers world wide use all their emails because they all crash
with laptop mode active.
I really don't care if it's in the kernel or elsewhere. But I care
that old data is not corrupted. And it seems this is not (yet)
possible with user space, e.g. a library in ld_preload. So I'm happy
for any hints how to accomplish this.