When running iozone on ocfs2, after about half an hour, the call trace
print and iozone hang.>From the call trace, the reason is "BUG()" in
ocfs_acquire_lockres.
int ocfs_acquire_lockres (ocfs_lock_res * lockres, __u32 timeout)
{
if (lockres->thread_id != mypid) {
else {
printk("lockres in_use=%d, pid=%d,
mypid=%d\n", lockres->in_use, lockres->thread_id, mypid);
BUG();
lockres->in_use++;
spin_unlock (&lockres->lock_mutex);
break;
}
}
This happened both on 2.4 and 2.6 kernel. Report as bug 83
------------[ cut here ]------------
kernel BUG at /home/xling/ocfs/ocfs2-6/src/lockres.c:170!
invalid operand: 0000 [#1]
CPU: 0
EIP: 0060:[<d08e371c>] Not tainted
EFLAGS: 00010286 (2.6.6up)
EIP is at ocfs_acquire_lockres+0x24f/0x27c [ocfs2]
eax: 00000027 ebx: 00000000 ecx: 00000001 edx: c03d6ab8
esi: 00002320 edi: c9ea48fc ebp: 00000000 esp: c9e1dd88
ds: 007b es: 007b ss: 0068
Process ocfs2cmt-0 (pid: 8992, threadinfo=c9e1c000 task=c9e1f930)
Stack: d0905360 00000001 00002320 00002320 c9e1c000 c9e1c000 00000000
c9bfa9e8
cc44e8f0 c9ea48fc 00000000 d08cd9e4 c9ea48fc 00000000 c9e1dddc
00000282
cf6236f0 00000003 00000001 00000246 022e4c00 00000000 c9bfa9e8
c79c2cfc
Call Trace:
[<d08cd9e4>] ocfs_release_lock+0xd8/0x50d [ocfs2]
[<d08ddeee>] ocfs_journal_release_locks+0x175/0x34c [ocfs2]
[<d08e2d0c>] ocfs_commit_cache+0x367/0x467 [ocfs2]
[<c011274d>] __wake_up_locked+0x22/0x26
[<d08e25fe>] ocfs_commit_thread+0x259/0x600 [ocfs2]
[<c011269c>] default_wake_function+0x0/0x12
[<c011269c>] default_wake_function+0x0/0x12
[<c011269c>] default_wake_function+0x0/0x12
[<c011269c>] default_wake_function+0x0/0x12
[<d08f76c9>] ocfs_timeout_func+0x0/0x1d [ocfs2]
[<c0103d72>] ret_from_fork+0x6/0x14
[<d08e23a5>] ocfs_commit_thread+0x0/0x600 [ocfs2]
[<d08e23a5>] ocfs_commit_thread+0x0/0x600 [ocfs2]
[<c0102291>] kernel_thread_helper+0x5/0xb
-------------------
Intel China Software Lab.
iNet: 8-752-1806
021-52574545-1243(O)
xfling@users.sourceforge.net
Opinions are my own and don't represent those of my employer