[Reposting, I managed to trigger a script with a truly ancient lkml address
first time around!]
The patches to follow clean up a few aspects of ext3's error handling
when it encounters corrupt data on disk.
ext3 contains a fair amount of internal debugging and assert-checking,
but a general rule is that it should never BUG() when it encounters
on-disk corruption: a BUG() is legal only when it recognises that its
own internal memory state has been compromised. For on-disk
corruption, we use ext3_error() instead (and the user *can* request
panic-on-error when that occurs, but the default is a graceful
shutdown of that filesystem, turning it readonly.)
The patches fix two possible routes where bad data on disk could lead
to a BUG(), and cleanup the error reporting when the fs is taken
offline.