* 2.6.0-test4 reiserfs oops
@ 2003-08-25 20:47 Lorenzo Allegrucci
2003-08-26 8:32 ` Oleg Drokin
0 siblings, 1 reply; 6+ messages in thread
From: Lorenzo Allegrucci @ 2003-08-25 20:47 UTC (permalink / raw)
To: reiserfs-list
I have got this oops running fsstress and fsx-linux
on a 20Gb reiserfs partition. Fully reproducible.
kernel BUG at mm/filemap.c:336!
invalid operand: 0000 [#1]
CPU: 0
EIP: 0060:[end_page_writeback+89/128] Not tainted
EFLAGS: 00010246
EIP is at end_page_writeback+0x59/0x80
eax: 00000000 ebx: c1420950 ecx: 00000017 edx: c15001c0
esi: c15003d0 edi: da825d3c ebp: d9855ddc esp: d9855dd0
ds: 007b es: 007b ss: 0068
Process fsstress (pid: 588, threadinfo=d9854000 task=d9815280)
Stack: c1420950 0000003f da825d3c d9855e08 c01d3568 c1420950 d9855ee0 d9855ee0
00000000 00000000 dc46d1f8 c1420950 dc46d284 d9855ee0 d9855e58 c016833a
c1420950 d9855ee0 d9855e58 c023a24e dfe2cdc0 db7b2440 dc46d2ac dc46d2a4
Call Trace:
[reiserfs_write_full_page+200/800] reiserfs_write_full_page+0xc8/0x320
[mpage_writepages+538/736] mpage_writepages+0x21a/0x2e0
[__make_request+622/1216] __make_request+0x26e/0x4c0
[reiserfs_writepage+0/64] reiserfs_writepage+0x0/0x40
[do_writepages+53/64] do_writepages+0x35/0x40
[__sync_single_inode+169/496] __sync_single_inode+0xa9/0x1f0
[sync_sb_inodes+387/544] sync_sb_inodes+0x183/0x220
[sync_inodes_sb+126/144] sync_inodes_sb+0x7e/0x90
[sync_inodes+46/160] sync_inodes+0x2e/0xa0
[do_sync+69/96] do_sync+0x45/0x60
[sys_sync+18/32] sys_sync+0x12/0x20
[syscall_call+7/11] syscall_call+0x7/0xb
Code: 0f 0b 50 01 a6 e1 2d c0 eb d5 89 1c 24 e8 45 81 00 00 85 c0
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: 2.6.0-test4 reiserfs oops 2003-08-25 20:47 2.6.0-test4 reiserfs oops Lorenzo Allegrucci @ 2003-08-26 8:32 ` Oleg Drokin 2003-08-26 11:46 ` Lorenzo Allegrucci 0 siblings, 1 reply; 6+ messages in thread From: Oleg Drokin @ 2003-08-26 8:32 UTC (permalink / raw) To: Lorenzo Allegrucci; +Cc: reiserfs-list Hello! On Mon, Aug 25, 2003 at 08:47:36PM +0000, Lorenzo Allegrucci wrote: > I have got this oops running fsstress and fsx-linux > on a 20Gb reiserfs partition. Fully reproducible. What are the options to fsx and fsstress? Also I immediately see a place that can lead to an oops you quoted, can you try to run with the patch attached and see if the oops go away? (warning, untested code, not even compiled) Thank you. Bye, Oleg ===== fs/reiserfs/inode.c 1.81 vs edited ===== --- 1.81/fs/reiserfs/inode.c Tue Aug 19 09:42:17 2003 +++ edited/fs/reiserfs/inode.c Tue Aug 26 12:31:02 2003 @@ -2048,8 +2048,7 @@ last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1) ; /* no file contents in this page */ if (page->index >= end_index + 1 || !last_offset) { - error = 0 ; - goto done ; + return 0; } kaddr = kmap_atomic(page, KM_USER0); memset(kaddr + last_offset, 0, PAGE_CACHE_SIZE-last_offset) ; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.0-test4 reiserfs oops 2003-08-26 8:32 ` Oleg Drokin @ 2003-08-26 11:46 ` Lorenzo Allegrucci 2003-08-26 10:38 ` Oleg Drokin 0 siblings, 1 reply; 6+ messages in thread From: Lorenzo Allegrucci @ 2003-08-26 11:46 UTC (permalink / raw) To: Oleg Drokin; +Cc: reiserfs-list On Tuesday 26 August 2003 08:32, Oleg Drokin wrote: > Hello! > > On Mon, Aug 25, 2003 at 08:47:36PM +0000, Lorenzo Allegrucci wrote: > > I have got this oops running fsstress and fsx-linux > > on a 20Gb reiserfs partition. Fully reproducible. > > What are the options to fsx and fsstress? fsx-linux linux-2.5.0.tar.bz2 :) mkdir d fsstress -d d -n 1000000 -p 10 The oops follows immediately. > Also I immediately see a place that can lead to an oops you quoted, > can you try to run with the patch attached and see if the oops go away? The oops goes away but fsx-linux hangs in "D" state. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.0-test4 reiserfs oops 2003-08-26 11:46 ` Lorenzo Allegrucci @ 2003-08-26 10:38 ` Oleg Drokin 2003-08-26 15:59 ` Lorenzo Allegrucci 0 siblings, 1 reply; 6+ messages in thread From: Oleg Drokin @ 2003-08-26 10:38 UTC (permalink / raw) To: Lorenzo Allegrucci; +Cc: reiserfs-list Hello! On Tue, Aug 26, 2003 at 11:46:47AM +0000, Lorenzo Allegrucci wrote: > > > I have got this oops running fsstress and fsx-linux > > > on a 20Gb reiserfs partition. Fully reproducible. > > What are the options to fsx and fsstress? > fsx-linux linux-2.5.0.tar.bz2 :) > mkdir d > fsstress -d d -n 1000000 -p 10 > The oops follows immediately. works for me without any patches. Do you have SMP? Some other system details? > > Also I immediately see a place that can lead to an oops you quoted, > > can you try to run with the patch attached and see if the oops go away? > The oops goes away but fsx-linux hangs in "D" state. Ah. I see, we need to unlock the page. How about this patch instead? Bye, Oleg ===== fs/reiserfs/inode.c 1.81 vs edited ===== --- 1.81/fs/reiserfs/inode.c Tue Aug 19 09:42:17 2003 +++ edited/fs/reiserfs/inode.c Tue Aug 26 14:27:32 2003 @@ -2048,8 +2048,8 @@ last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1) ; /* no file contents in this page */ if (page->index >= end_index + 1 || !last_offset) { - error = 0 ; - goto done ; + unlock_page(page); + return 0; } kaddr = kmap_atomic(page, KM_USER0); memset(kaddr + last_offset, 0, PAGE_CACHE_SIZE-last_offset) ; ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.0-test4 reiserfs oops 2003-08-26 10:38 ` Oleg Drokin @ 2003-08-26 15:59 ` Lorenzo Allegrucci 2003-08-27 6:46 ` Oleg Drokin 0 siblings, 1 reply; 6+ messages in thread From: Lorenzo Allegrucci @ 2003-08-26 15:59 UTC (permalink / raw) To: reiserfs-list On Tuesday 26 +August 2003 10:38, Oleg Drokin wrote: > Hello! > > On Tue, Aug 26, 2003 at 11:46:47AM +0000, Lorenzo Allegrucci wrote: > > > > I have got this oops running fsstress and fsx-linux > > > > on a 20Gb reiserfs partition. Fully reproducible. > > > > > > What are the options to fsx and fsstress? > > > > fsx-linux linux-2.5.0.tar.bz2 :) > > mkdir d > > fsstress -d d -n 1000000 -p 10 > > The oops follows immediately. > > works for me without any patches. This is easier to reproduce: touch file mkdir d fsstress -d d -n 1000000 -p 10 As soon as I run "fsx-linux file" on another console I get the oops. (However fsx-linux without fsstress is not sufficient) > Do you have SMP? No. >Some other system details? HW is a Athlon XP 1500+, 512 Mb RAM, 60 Gb Maxtor hd. Stable, well cooled. All other filesystems pass the test. System is Debian unstable. > > > Also I immediately see a place that can lead to an oops you quoted, > > > can you try to run with the patch attached and see if the oops go away? > > > > The oops goes away but fsx-linux hangs in "D" state. > > Ah. > I see, we need to unlock the page. How about this patch instead? > > Bye, > Oleg > ===== fs/reiserfs/inode.c 1.81 vs edited ===== > --- 1.81/fs/reiserfs/inode.c Tue Aug 19 09:42:17 2003 > +++ edited/fs/reiserfs/inode.c Tue Aug 26 14:27:32 2003 > @@ -2048,8 +2048,8 @@ > last_offset = inode->i_size & (PAGE_CACHE_SIZE - 1) ; > /* no file contents in this page */ > if (page->index >= end_index + 1 || !last_offset) { > - error = 0 ; > - goto done ; > + unlock_page(page); > + return 0; > } > kaddr = kmap_atomic(page, KM_USER0); > memset(kaddr + last_offset, 0, PAGE_CACHE_SIZE-last_offset) ; This patch seems to fix both issues for me. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: 2.6.0-test4 reiserfs oops 2003-08-26 15:59 ` Lorenzo Allegrucci @ 2003-08-27 6:46 ` Oleg Drokin 0 siblings, 0 replies; 6+ messages in thread From: Oleg Drokin @ 2003-08-27 6:46 UTC (permalink / raw) To: Lorenzo Allegrucci; +Cc: reiserfs-list Hello! On Tue, Aug 26, 2003 at 03:59:20PM +0000, Lorenzo Allegrucci wrote: > > > > > I have got this oops running fsstress and fsx-linux > > > > > on a 20Gb reiserfs partition. Fully reproducible. > > > > What are the options to fsx and fsstress? > > > fsx-linux linux-2.5.0.tar.bz2 :) > > > mkdir d > > > fsstress -d d -n 1000000 -p 10 > > > The oops follows immediately. > > works for me without any patches. > > This is easier to reproduce: > touch file > mkdir d > fsstress -d d -n 1000000 -p 10 > As soon as I run "fsx-linux file" on another console I get the oops. > (However fsx-linux without fsstress is not sufficient) Well, actually I was able to reproduce it yesterday later after replying to you. And we got some other similar reports under different workloads. My initial suspiction about the cause was right. and that fix I sent to you on the second try is the correct thing to do. The actual problem came from AIO people merging incorrect patch into reiserfs code. Bye, Oleg ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2003-08-27 6:46 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2003-08-25 20:47 2.6.0-test4 reiserfs oops Lorenzo Allegrucci 2003-08-26 8:32 ` Oleg Drokin 2003-08-26 11:46 ` Lorenzo Allegrucci 2003-08-26 10:38 ` Oleg Drokin 2003-08-26 15:59 ` Lorenzo Allegrucci 2003-08-27 6:46 ` Oleg Drokin
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.