[Ocfs2-devel] [PATCH] ocfs2: Plugs race between the dc thread and an unlock ast message

Sunil Mushran sunil.mushran at oracle.com
Tue Feb 9 13:49:12 PST 2010


David Teigland wrote:
> BUG hit just five minutes after starting make_panic and alternate on four
> nodes.  (I can send history before this if you need.)
>

Feb 9 14:09:52 bull-05 kernel: (6983,0,dlm_astd):

ocfs2_locking_ast:1104 lock M000000000000000009732800000000, action 2, 
unlock 0, level 0, newlevel 5
ocfs2_unlock_ast:3075 UNLOCK AST called on lock 
M000000000000000009732800000000, action = 2 (DROP_LOCK)
ocfs2_blocking_ast:1059 BAST fired for lockres 
M000000000000000009732800000000, blocking 5, level -1 type Meta
ocfs2_generic_handle_bast:932 lockres M000000000000000009732800000000, 
block 5, level -1, l_block 5, dwn 1

Feb 9 14:09:52 bull-05 kernel: (7009,2,ocfs2dc):

ocfs2_process_blocked_lock:4004 lockres M000000000000000009732800000000 
blocked.
ocfs2_prepare_downconvert:3295 ERROR: lock 
M000000000000000009732800000000, lvl -1 <= 0, blcklst 1, mask 1, type 0, 
flags 0x104, h


So the BAST fires after the UNLOCK AST (DROP_LOCK). That is what
we thought.

Why does ocfs2_generic_handle_bast() not take into account the current
lockres->l_level?



More information about the Ocfs2-devel mailing list