When the drive is powered down during a write operation, the
sector which was being written has got an incorrect checksum
stored on disk. So far, so good---but if the sector is read
later, the drive returns a *permanent*, *hard* error, which can
only be removed by a low-level format (IBM provides a tool for
it). The drive does not automatically map out such sectors.
AVOID SUCH DRIVES... I have both Seagate and IBM SCSI drives which a
are hot-swappable in a test machine that I used for testing various
journalling filesystems a while back for reliability.
Some (many) of those tests involved removed the disk during writes
(literally) and checking the results afterwards.
The drives were set not to write-cache (they don't by default, but all
my IDE drives do, so maybe this is a SCSI thing?)
At no point did I ever see a partial write or corrupted sector; nor
have I seen any appear in the grown table, so as best as I can tell
even under removal with sustain writes there are SOME DRIVES WHERE
THIS ISN'T A PROBLEM.
Now, since EMC, NetApp, Sun, HP, Compaq, etc. all have products which
presumable depend on this behavior, I don't think it's going to go
away, it perhaps will just become important to know which drives are
brain-damaged and list them so people can avoid them.
As this will affect the Windows world too consumer pressure will
hopefully rectify this problem.
--cw
P.S. Write-caching in hard-drives is insanely dangerous for
journalling filesystems and can result in all sorts of nasties.
I recommend people turn this off in their init scripts (perhaps I
will send a patch for the kernel to do this on boot, I just
wonder if it will eat some drives).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/