[PATCH 0/4] I/O Error Handling for ReiserFS v3

From: Jeffrey Mahoney
Date: Tue Oct 05 2004 - 10:10:57 EST


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

Attachment: pgp00000.pgp
Description: PGP signature