Hey all -
One of the most common complaints I've heard about ReiserFS is how
graceless it is in handling critical I/O errors.
ext[23] can handle I/O errors anywhere, with the results being up to the
system admin to determine: continue, go read only, or panic.
ReiserFS doesn't offer the admin any such choice, instead panicking on
any I/O error in the journal.
The available options are read only or panic, since ReiserFS does not
currently support operations without the journal.
In the four messages that follow, you'll find:
* reiserfs-cleanup-buffer-heads.diff
- Cleans up handling of buffer head bitfields - uses
the kernel supplied FNS_BUFFER macros instead.
* reiserfs-cleanup-sb-journal.diff
- Cleans up accessing of the journal structure, prefering
to create a temporary variable in functions that access
the journal structure non-trivially. Should make 0 difference
at compile time.
* reiserfs-io-error-handling.diff
- Allows ReiserFS to gracefully handle I/O errors in critical
code paths. The admin has the option to go read-only or panic.
Since ReiserFS has no option to ignore the use of the journal,
the "continue" method is not enabled.
* reiserfs-write-lock.diff
- Fixes two missing reiserfs_write_unlock() calls on error paths
that are unrelated to reiserfs-io-error-handling.diff
These patches have seen a lot of testing in the SuSE Linux Enterprise
Server 9 kernel, and are considered ready for mainline.
They've received approval[1] from the ReiserFS maintainers also.
Andrew - Apologies for the previous format; Please apply.
Thanks.
-Jeff
[1] http://marc.theaimsgroup.com/?l=reiserfs&m=109587254714180
--
Jeff Mahoney
SuSE Labs