lkml.org 
[lkml]   [2003]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
SubjectRe: Random Oopses on 2.6.0-test1-mm2
From
Date
On Sat, 2003-07-26 at 09:18, Apurva Mehta wrote:
> Hi,
>
> I get random oopses while using 2.6.0-test1-mm2. I have attached the
> oops message and also the ksymoops output. I get the same behaviour
> with the 08int patch applied also. The OOPs message attached was
> obtained on a 2.6.0-test1-mm2-08int.

Please, try the following patch...
diff -puN fs/ext3/inode.c~ext3_getblk-race-fix-fix fs/ext3/inode.c
--- 25/fs/ext3/inode.c~ext3_getblk-race-fix-fix 2003-07-19 22:59:50.000000000 -0700
+++ 25-akpm/fs/ext3/inode.c 2003-07-19 23:07:42.000000000 -0700
@@ -936,19 +936,17 @@ struct buffer_head *ext3_getblk(handle_t
ext3_get_block instead, so it's not a
problem. */
lock_buffer(bh);
- if (!buffer_uptodate(bh)) {
- BUFFER_TRACE(bh, "call get_create_access");
- fatal = ext3_journal_get_create_access(handle, bh);
- if (!fatal) {
- memset(bh->b_data, 0,
- inode->i_sb->s_blocksize);
- set_buffer_uptodate(bh);
- }
+ BUFFER_TRACE(bh, "call get_create_access");
+ fatal = ext3_journal_get_create_access(handle, bh);
+ if (!fatal && !buffer_uptodate(bh)) {
+ memset(bh->b_data, 0, inode->i_sb->s_blocksize);
+ set_buffer_uptodate(bh);
}
unlock_buffer(bh);
BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata");
err = ext3_journal_dirty_metadata(handle, bh);
- if (!fatal) fatal = err;
+ if (!fatal)
+ fatal = err;
} else {
BUFFER_TRACE(bh, "not a new buffer");
}
_

\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.030 / U:0.864 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site