Re: [PATCH] ReiserFS v3 I/O error handling

2004-09-22 Thread Hans Reiser
Chris Mason wrote:
On Wed, 2004-09-15 at 10:31, Hans Reiser wrote:
 

Jeff Mahoney wrote:
   

Alex Zarochentsev wrote:
| I assume that was tested with some simulated i/o errors, wasn't it?.
Of course. The debugging code is since removed, but every place there
was a !buffer_uptodate(bh) check, I added a trigger such that I could
trigger each error path individually. I triggered various error paths
while running fsx, stress.sh, and/or ltp's fsstress.
 

Your patch is much needed stuff.  Would be nice to see it for reiser4 
someday.;-)
   

;-) Any objections if we start by sending this to Andrew for v3?
-chris

 

I'll let zam answer for me.


Re: [PATCH] ReiserFS v3 I/O error handling

2004-09-22 Thread Alex Zarochentsev
On Wed, Sep 22, 2004 at 08:39:06AM -0700, Hans Reiser wrote:
 Chris Mason wrote:
 
 On Wed, 2004-09-15 at 10:31, Hans Reiser wrote:
  
 
 Jeff Mahoney wrote:
 

 
 Alex Zarochentsev wrote:
 | I assume that was tested with some simulated i/o errors, wasn't it?.
 
 Of course. The debugging code is since removed, but every place there
 was a !buffer_uptodate(bh) check, I added a trigger such that I could
 trigger each error path individually. I triggered various error paths
 while running fsx, stress.sh, and/or ltp's fsstress.
  
 
 Your patch is much needed stuff.  Would be nice to see it for reiser4 
 someday.;-)

 
 
 ;-) Any objections if we start by sending this to Andrew for v3?

no objections. 

 
 -chris
 
 I'll let zam answer for me.


-- 
Alex.


Re: [PATCH] ReiserFS v3 I/O error handling

2004-09-21 Thread Chris Mason
On Wed, 2004-09-15 at 10:31, Hans Reiser wrote:
 Jeff Mahoney wrote:
 
  Alex Zarochentsev wrote:
  | I assume that was tested with some simulated i/o errors, wasn't it?.
 
  Of course. The debugging code is since removed, but every place there
  was a !buffer_uptodate(bh) check, I added a trigger such that I could
  trigger each error path individually. I triggered various error paths
  while running fsx, stress.sh, and/or ltp's fsstress.
 
 Your patch is much needed stuff.  Would be nice to see it for reiser4 
 someday.;-)

;-) Any objections if we start by sending this to Andrew for v3?

-chris




[PATCH] ReiserFS v3 I/O error handling

2004-09-13 Thread Jeff Mahoney
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
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.
Attached are four patches, against 2.6.9-rc2:
* 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-write-lock.diff
- Fixes two missing reiserfs_write_unlock() calls on error paths
~  that are unrelated to the last patch.
* 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.
These patches have seen a lot of testing in the SuSE Linux Enterprise
Server 9 kernel, and are considered ready for mainline.
Hans - please take a look.
Resent: Since the namesys.com mail server refuses messages over 40k,
I've posted the patches at
ftp://ftp.suse.com/pub/people/jeffm/reiserfs/kernel-v2.6/io-error/
- -Jeff
- --
Jeff Mahoney
SuSE Labs
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBRhsvLPWxlyuTD7IRAqa7AJ9ZJa+HnOGYU7OIouWMu34H2mU0MQCgn0H5
QBdLo95dLiXsQdwojQSHAos=
=kPTJ
-END PGP SIGNATURE-