Hello World!
I've just recompiled my kernel (current Linus tree), rebooted into it,
everything seems to work Ok. I wanted to change 1 option so I
recompiled again. Right at the end of the build Xorg server died and on
the screen was printed:
------------[ cut here ]------------
kernel BUG at /home/andy/save/src/linux-2.6/fs/inode.c:298!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/devices/virtual/vc/vcsa2/uevent
CPU 0
Pid: 17243, comm: mv Not tainted 2.6.35+ #1 MS-7521/MS-7521
RIP: 0010:[<ffffffff810b325b>] [<ffffffff810b325b>] end_writeback+0x5b/0x70
RSP: 0018:ffff880114d7dcf8 EFLAGS: 00010202
RAX: 0000000000000060 RBX: ffff88013fab00f8 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff88013fab00f8
RBP: 00000000ffffffff R08: 0000000000000f36 R09: 0000000000000f36
R10: 0000000000000bac R11: 0000000000000000 R12: ffff88013f9ac540
R13: 0000000000000000 R14: ffff88010fd31500 R15: ffff88010fd31440
FS: 00007f306e5be700(0000) GS:ffff880001a00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00007f306debb080 CR3: 000000013d730000 CR4: 00000000000406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process mv (pid: 17243, threadinfo ffff880114d7c000, task ffff88013cf73430)
Stack:
ffff88013fab00f8 ffffffff810f57a7 ffff88013e608400 0000000000000000
<0> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
<0> 0000000000000000 0000000000000000 ffff88010fd31500 ffff88013fab00f8
Call Trace:
[<ffffffff810f57a7>] ? reiserfs_evict_inode+0x47/0x130
[<ffffffff810b328a>] ? evict+0x1a/0xa0
[<ffffffff810b3f6c>] ? iput+0x19c/0x280
[<ffffffff810afdb7>] ? d_kill+0x47/0x80
[<ffffffff810b0dbf>] ? dput+0x9f/0x180
[<ffffffff810abb1b>] ? sys_renameat+0x21b/0x270
[<ffffffff81088449>] ? handle_mm_fault+0x1b9/0x940
[<ffffffff8102118f>] ? do_page_fault+0x1cf/0x320
[<ffffffff810021ab>] ? system_call_fastpath+0x16/0x1b
Code: 1d 48 8d bf d0 01 00 00 b9 02 00 00 00 48 c7 c2 70 2b 0b 81 be 07 00 00 00 e8 42 b0 49 00 48 c7 83 d0 01 00 00 60 00 00 00 5b c3 <0f> 0b 0f 0b 0f 0b 0f 0b 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
RIP [<ffffffff810b325b>] end_writeback+0x5b/0x70
RSP <ffff880114d7dcf8>
---[ end trace fdd5f8a966d540a4 ]---
The Opps mentions reiserfs. The only reiserfs partition I have is /boot
(grub won't boot from btrfs) and the script I use to recompile the
kernel copies it into /boot when the new kernel is ready.
Andy
On Sat, Aug 14, 2010 at 01:34:07PM +0100, Andrew Benton wrote:
> Hello World!
> I've just recompiled my kernel (current Linus tree), rebooted into it,
> everything seems to work Ok. I wanted to change 1 option so I
> recompiled again. Right at the end of the build Xorg server died and on
> the screen was printed:
>
> ------------[ cut here ]------------
> kernel BUG at /home/andy/save/src/linux-2.6/fs/inode.c:298!
> invalid opcode: 0000 [#1] SMP
> last sysfs file: /sys/devices/virtual/vc/vcsa2/uevent
> CPU 0
> Pid: 17243, comm: mv Not tainted 2.6.35+ #1 MS-7521/MS-7521
> RIP: 0010:[<ffffffff810b325b>] [<ffffffff810b325b>] end_writeback+0x5b/0x70
> RSP: 0018:ffff880114d7dcf8 EFLAGS: 00010202
> RAX: 0000000000000060 RBX: ffff88013fab00f8 RCX: 0000000000000000
> RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff88013fab00f8
> RBP: 00000000ffffffff R08: 0000000000000f36 R09: 0000000000000f36
> R10: 0000000000000bac R11: 0000000000000000 R12: ffff88013f9ac540
> R13: 0000000000000000 R14: ffff88010fd31500 R15: ffff88010fd31440
> FS: 00007f306e5be700(0000) GS:ffff880001a00000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 00007f306debb080 CR3: 000000013d730000 CR4: 00000000000406f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process mv (pid: 17243, threadinfo ffff880114d7c000, task ffff88013cf73430)
> Stack:
> ffff88013fab00f8 ffffffff810f57a7 ffff88013e608400 0000000000000000
> <0> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> <0> 0000000000000000 0000000000000000 ffff88010fd31500 ffff88013fab00f8
> Call Trace:
> [<ffffffff810f57a7>] ? reiserfs_evict_inode+0x47/0x130
> [<ffffffff810b328a>] ? evict+0x1a/0xa0
> [<ffffffff810b3f6c>] ? iput+0x19c/0x280
> [<ffffffff810afdb7>] ? d_kill+0x47/0x80
> [<ffffffff810b0dbf>] ? dput+0x9f/0x180
> [<ffffffff810abb1b>] ? sys_renameat+0x21b/0x270
> [<ffffffff81088449>] ? handle_mm_fault+0x1b9/0x940
> [<ffffffff8102118f>] ? do_page_fault+0x1cf/0x320
> [<ffffffff810021ab>] ? system_call_fastpath+0x16/0x1b
> Code: 1d 48 8d bf d0 01 00 00 b9 02 00 00 00 48 c7 c2 70 2b 0b 81 be 07 00 00 00 e8 42 b0 49 00 48 c7 83 d0 01 00 00 60 00 00 00 5b c3 <0f> 0b 0f 0b 0f 0b 0f 0b 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
> RIP [<ffffffff810b325b>] end_writeback+0x5b/0x70
> RSP <ffff880114d7dcf8>
> ---[ end trace fdd5f8a966d540a4 ]---
>
> The Opps mentions reiserfs. The only reiserfs partition I have is /boot
> (grub won't boot from btrfs) and the script I use to recompile the
> kernel copies it into /boot when the new kernel is ready.
>
> Andy
Oh, looks like a return has been forgotten.
Does that patch fix your issue?
Thanks.
On 14/08/10 15:22, Frederic Weisbecker wrote:
> On Sat, Aug 14, 2010 at 01:34:07PM +0100, Andrew Benton wrote:
>> Hello World!
>> I've just recompiled my kernel (current Linus tree), rebooted into it,
>> everything seems to work Ok. I wanted to change 1 option so I
>> recompiled again. Right at the end of the build Xorg server died and on
>> the screen was printed:
>>
>> ------------[ cut here ]------------
>> kernel BUG at /home/andy/save/src/linux-2.6/fs/inode.c:298!
>> invalid opcode: 0000 [#1] SMP
>> last sysfs file: /sys/devices/virtual/vc/vcsa2/uevent
>> CPU 0
>> Pid: 17243, comm: mv Not tainted 2.6.35+ #1 MS-7521/MS-7521
>> RIP: 0010:[<ffffffff810b325b>] [<ffffffff810b325b>] end_writeback+0x5b/0x70
>> RSP: 0018:ffff880114d7dcf8 EFLAGS: 00010202
>> RAX: 0000000000000060 RBX: ffff88013fab00f8 RCX: 0000000000000000
>> RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffff88013fab00f8
>> RBP: 00000000ffffffff R08: 0000000000000f36 R09: 0000000000000f36
>> R10: 0000000000000bac R11: 0000000000000000 R12: ffff88013f9ac540
>> R13: 0000000000000000 R14: ffff88010fd31500 R15: ffff88010fd31440
>> FS: 00007f306e5be700(0000) GS:ffff880001a00000(0000) knlGS:0000000000000000
>> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
>> CR2: 00007f306debb080 CR3: 000000013d730000 CR4: 00000000000406f0
>> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
>> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
>> Process mv (pid: 17243, threadinfo ffff880114d7c000, task ffff88013cf73430)
>> Stack:
>> ffff88013fab00f8 ffffffff810f57a7 ffff88013e608400 0000000000000000
>> <0> 0000000000000000 0000000000000000 0000000000000000 0000000000000000
>> <0> 0000000000000000 0000000000000000 ffff88010fd31500 ffff88013fab00f8
>> Call Trace:
>> [<ffffffff810f57a7>] ? reiserfs_evict_inode+0x47/0x130
>> [<ffffffff810b328a>] ? evict+0x1a/0xa0
>> [<ffffffff810b3f6c>] ? iput+0x19c/0x280
>> [<ffffffff810afdb7>] ? d_kill+0x47/0x80
>> [<ffffffff810b0dbf>] ? dput+0x9f/0x180
>> [<ffffffff810abb1b>] ? sys_renameat+0x21b/0x270
>> [<ffffffff81088449>] ? handle_mm_fault+0x1b9/0x940
>> [<ffffffff8102118f>] ? do_page_fault+0x1cf/0x320
>> [<ffffffff810021ab>] ? system_call_fastpath+0x16/0x1b
>> Code: 1d 48 8d bf d0 01 00 00 b9 02 00 00 00 48 c7 c2 70 2b 0b 81 be 07 00 00 00 e8 42 b0 49 00 48 c7 83 d0 01 00 00 60 00 00 00 5b c3<0f> 0b 0f 0b 0f 0b 0f 0b 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
>> RIP [<ffffffff810b325b>] end_writeback+0x5b/0x70
>> RSP<ffff880114d7dcf8>
>> ---[ end trace fdd5f8a966d540a4 ]---
>>
>> The Opps mentions reiserfs. The only reiserfs partition I have is /boot
>> (grub won't boot from btrfs) and the script I use to recompile the
>> kernel copies it into /boot when the new kernel is ready.
>>
>> Andy
>
>
> Oh, looks like a return has been forgotten.
>
> Does that patch fix your issue?
>
> Thanks.
>
>
> reiserfs.diff
>
>
> diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
> index ae35413..5b18f93 100644
> --- a/fs/reiserfs/inode.c
> +++ b/fs/reiserfs/inode.c
> @@ -84,6 +84,8 @@ void reiserfs_evict_inode(struct inode *inode)
> inode->i_blocks = 0;
> reiserfs_write_unlock_once(inode->i_sb, depth);
>
> + return;
> +
> no_delete:
> end_writeback(inode);
> dquot_drop(inode);
Yes, thankyou, it seems to be working properly. I've only been using it
for a couple of minutes but I can delete files on my boot partition
without an oops so it seems to be working.
Thanks!
Andy