Re: [patch] ext2/3: document conditions when reliable operation ispossible

From: Ric Wheeler
Date: Tue Aug 25 2009 - 18:43:20 EST


On 08/25/2009 05:15 PM, Pavel Machek wrote:

Maybe this came as a surprise to you, but anyone who has used a
compact flash in a digital camera knows that you ***have*** to wait
until the led has gone out before trying to eject the flash card. I
remember seeing all sorts of horror stories from professional
photographers about how they lost an important wedding's day worth of
pictures with the attendant commercial loss, on various digital
photography forums. It tends to be the sort of mistake that digital
photographers only make once.

It actually comes as surprise to me. Actually yes and no. I know that
digital cameras use VFAT, so pulling CF card out of it may do bad
thing, unless I run fsck.vfat afterwards. If digital camera was using
ext3, I'd expect it to be safely pullable at any time.

Will IBM microdrive do any difference there?

Anyway, it was not known to me. Rather than claiming "everyone knows"
(when clearly very few people really understand all the details), can
we simply document that?

I really think that the expectation that all OS's (windows, mac, even
your ipod) all teach you not to hot unplug a device with any file system.
Users have an "eject" or "safe unload" in windows, your iPod tells you
not to power off or disconnect, etc.

That was before journaling filesystems...

Not true - that is true today with or without journals as we have discussed in great detail. Including specifically ext2.

Basically, any file system (Linux, windows, OSX, etc) that writes into the page cache will lose data when you hot unplug its storage. End of story, don't do it!



I don't object to making that general statement - "Don't hot unplug a
device with an active file system or actively used raw device" - but
would object to the overly general statement about ext3 not working on
flash, RAID5 not working, etc...

You can object any way you want, but running ext3 on flash or MD RAID5
is stupid:

* ext2 would be faster

* ext2 would provide better protection against powerfail.

Not true in the slightest, you continue to ignore the ext2/3/4 developers telling you that it will lose data.


"ext3 works on flash and MD RAID5, as long as you do not have
powerfail" seems to be the accurate statement, and if you don't need
to protect against powerfails, you can just use ext2.
Pavel

Strange how your personal preference is totally out of sync with the entire enterprise class user base.

ric


--
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/