2003-03-25 17:29:41

by Stephen C. Tweedie

[permalink] [raw]
Subject: [Patch 6/8] 2.4: Fix jbd assert failure on IO error.

The buffer_uptodate flag gets cleared on IO failure, and this can panic
jbd when it tries to write such a buffer. Relax the panic to be just a
warning.

--- linux-2.4-ext3push/fs/jbd/transaction.c.=K0005=.orig 2003-03-25 10:59:15.000000000 +0000
+++ linux-2.4-ext3push/fs/jbd/transaction.c 2003-03-25 10:59:15.000000000 +0000
@@ -739,7 +739,8 @@ done_locked:
int offset;
char *source;

- J_ASSERT_JH(jh, buffer_uptodate(jh2bh(jh)));
+ J_EXPECT_JH(jh, buffer_uptodate(jh2bh(jh)),
+ "Possible IO failure.\n");
page = jh2bh(jh)->b_page;
offset = ((unsigned long) jh2bh(jh)->b_data) & ~PAGE_MASK;
source = kmap(page);