Larry Chen changed bug 1019792
What Removed Added
Status IN_PROGRESS RESOLVED
Resolution --- FIXED

Comment # 6 on bug 1019792 from
This is NOT a ocfs2 caused bug.

It really looks like a dead lock problem, but actually that's not the truth.

The ultimate cause of this problem is that block device blocks the node1
process before it could finish reading a block, but unfortunately, meanwhile,
the process also holds the lock of global bitmap. And when node1 is blocked,
node2 and node3 also need to lock global bitmap, so, they all hangs.

Code path of node1's locking global bitmap:
--->ocfs2_local_alloc_slide_window
------->ocfs2_local_alloc_reserve_for_window
----------->ocfs2_reserve_cluster_bitmap_bits
---------------->ocfs2_reserve_suballoc_bits
-------------------->ocfs2_inode_lock(alloc_inode, &bh, 1); //here, alloc_inode
represents the global bitmap.


You are receiving this mail because: