]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ocfs2: skip locks in the blocked list
authorXue jiufei <xuejiufei@huawei.com>
Tue, 5 Nov 2013 05:55:04 +0000 (16:55 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 5 Nov 2013 05:55:04 +0000 (16:55 +1100)
commitc9d4ca3fae4b86aaecca2db3c9bef3a7658dd71b
tree63a9d59f791a55514c883976e3feafca133953a7
parent1bfb7eaaff3ffd434d716f688bdd7a4af9809ab3
ocfs2: skip locks in the blocked list

A parallel umount on 4 nodes triggered a bug in
dlm_process_recovery_date().  Here's the situation:

Receiving MIG_LOCKRES message, A node processes the locks in migratable
lockres.  It copys lvb from migratable lockres when processing the first
valid lock.

If there is a lock in the blocked list with the EX level, it triggers the
BUG.  Since valid lvbs are set when locks are granted with EX or PR
levels, locks in the blocked list cannot have valid lvbs.  Therefore I
think we should skip the locks in the blocked list.

Signed-off-by: Xuejiufei <xuejiufei@huawei.com>
Signed-off-by: Joel Becker <jlbec@evilplan.org>
Cc: Mark Fasheh <mfasheh@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ocfs2/dlm/dlmrecovery.c