Hi,
2.6.36-rc0-git11-07128-g4104046-dirty
[ 2213.717957] ------------[ cut here ]------------
[ 2213.719401] kernel BUG at fs/inode.c:298!
[ 2213.720821] invalid opcode: 0000 [#7] PREEMPT SMP
[ 2213.722248] last sysfs file: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:13/PNP0C0A:00/power_supply/BAT0/status
[ 2213.723692] CPU 0
[ 2213.729816]
[..]
[ 2213.753445] Stack:
[ 2213.754980] ffff880135abfde8 ffff880117474610 ffff880135abfe58 ffffffff8113a1f8
[ 2213.755021] <0> ffff880155543800 0000000000000000 0000000000000000 0000000000000000
[ 2213.756590] <0> 0000000000000000 0000000000000000 0000000000000000 0000000000000001
[ 2213.759677] Call Trace:
[ 2213.761205] [<ffffffff8113a1f8>] reiserfs_evict_inode+0x13c/0x151
[ 2213.762736] [<ffffffff810ebcac>] evict+0x22/0x92
[ 2213.764248] [<ffffffff810ec884>] iput+0x1c8/0x228
[ 2213.765746] [<ffffffff810e3ca1>] do_unlinkat+0x107/0x15a
[ 2213.767393] [<ffffffff810e1654>] ? path_put+0x2c/0x30
[ 2213.768909] [<ffffffff8136d760>] ? trace_hardirqs_on_thunk+0x3a/0x3f
[ 2213.770368] [<ffffffff810e5004>] sys_unlink+0x11/0x13
[ 2213.771806] [<ffffffff81002002>] system_call_fastpath+0x16/0x1b
[ 2213.773246] Code: 02 00 00 00 74 02 0f 0b 48 8d 87 e0 02 00 00 48 39 87 e0 02 00 00 74 02 0f 0b 48 8b 87 30 03 00 00 a8 20 75 02 0f 0b a8 40 74 02 <0f> 0b a8 80 74 1d 48 8d bf 30 03 00 00 b9 02 00 00 00 48 c7 c2
[ 2213.776684] RIP [<ffffffff810ebc58>] end_writeback+0x3b/0x6d
[ 2213.778296] RSP <ffff880135abfdd8>
[ 2213.798230] ---[ end trace 4b833f744d46ce1f ]---
The problem is that:
reiserfs_evict_inode calls end_writeback two times hitting
kernel BUG at fs/inode.c:298 because inode->i_state is I_CLEAR already.
---
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
index ae35413..87e11d2 100644
--- a/fs/reiserfs/inode.c
+++ b/fs/reiserfs/inode.c
@@ -83,7 +83,8 @@ void reiserfs_evict_inode(struct inode *inode)
dquot_drop(inode);
inode->i_blocks = 0;
reiserfs_write_unlock_once(inode->i_sb, depth);
-
+ return;
+
no_delete:
end_writeback(inode);
dquot_drop(inode);
Al Viro wrote:
Applied, thanks.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment