Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 180367
b: refs/heads/master
c: db0f6ce
h: refs/heads/master
i:
  180365: e2ed696
  180363: a39be2c
  180359: fd8f3b4
  180351: 46a6335
v: v3
  • Loading branch information
Sunil Mushran authored and Joel Becker committed Feb 3, 2010
1 parent 284c2df commit 086a9c8
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0d74125a6a68d4f1969ecaf0b3543f315916ccdc
refs/heads/master: db0f6ce69776370232431eb8be85a5b18b0019c0
12 changes: 10 additions & 2 deletions trunk/fs/ocfs2/dlmglue.c
Original file line number Diff line number Diff line change
Expand Up @@ -3392,9 +3392,17 @@ static int ocfs2_unblock_lock(struct ocfs2_super *osb,

spin_lock_irqsave(&lockres->l_lock, flags);

BUG_ON(!(lockres->l_flags & OCFS2_LOCK_BLOCKED));

recheck:
/*
* Is it still blocking? If not, we have no more work to do.
*/
if (!(lockres->l_flags & OCFS2_LOCK_BLOCKED)) {
BUG_ON(lockres->l_blocking != DLM_LOCK_NL);
spin_unlock_irqrestore(&lockres->l_lock, flags);
ret = 0;
goto leave;
}

if (lockres->l_flags & OCFS2_LOCK_BUSY) {
/* XXX
* This is a *big* race. The OCFS2_LOCK_PENDING flag
Expand Down

0 comments on commit 086a9c8

Please sign in to comment.