On 28 Jan 2016, at 1:38pm, Bernard McNeill <bm.email01 at gmail.com> wrote:
> === > Like the user reading ?saving OK? and throwing away the > Post-It with the original information > === > > This is exactly my concern. > The user throwing away the Post-It is entirely reasonable if he sees a > message like that. > > Do you happen to know if Linux/Debian (which I think uses a journalling > filesystem) carries this risk? The problem is not at the software level. Various operating systems and file systems are correctly programmed with regard to waiting for write commands to complete. I don't know specifically about Debian but Linux has a good reputation for such things, and anyone who bothers to write a journalling file system would understand how to do things properly. The problem is at the hardware level. Standard disk drives (including their motherboard if they have one, and their firmware) are designed for speed, not integrity. The assumption is that you will be using them to play games or write your CV in Word, not to keep vital data. So they are set up, using their default jumper positions, to lie. In order to keep their computer running as fast as possible, instead of 1) receive write command 2) perform write command 3) read that bit of disk to confirm the change 4) if not, bring SMART system into play and try writing it somewhere else 5) if succeed, tell the computer "I wrote that and it worked." 6) otherwise tell the computer "I wrote that and it failed." they do this 1) receive write command 2) tell the computer "I wrote that and it worked." 3) perform write command 4) read that bit of disk to confirm the change 5) if not, bring SMART system into play and try writing it somewhere else Doing things this way around means that the computer has to wait less than half the time to continue with the next task. Which is what users want. Notice that with this behaviour it doesn't matter how fault-tolerant or ACID your file system is, because it has to trust its storage system and the storage system is lying to it. You can get server-quality disks (sometimes called "enterprise drives") which do this correctly. They cost more because they have to survive longer and more complicated testing at the factory before they're sold to you. And if you put one in someone's computer they'd complain that it takes 20 seconds to load a Facebook page and they get lousy frame rates on their favourite game. Simon.

