summaryrefslogtreecommitdiffstats
path: root/fs/dlm/lock.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-28 09:46:00 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-28 09:46:00 -0700
commit3988ba0708e98b4bafc9034aa476775520bee708 (patch)
tree8c706018fef444bc16b33fa8208e78cabf993a1f /fs/dlm/lock.c
parentd9089c296bdd82e6c1b7f82d04c11b5decde75e7 (diff)
parent18c60c0a3b16fc7d6a55497a228602ad8509f838 (diff)
downloadop-kernel-dev-3988ba0708e98b4bafc9034aa476775520bee708.zip
op-kernel-dev-3988ba0708e98b4bafc9034aa476775520bee708.tar.gz
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: fix uninitialized variable for search_rsb_list callers dlm: release socket on error dlm: fix basts for granted CW waiting PR/CW dlm: check for null in device_write
Diffstat (limited to 'fs/dlm/lock.c')
-rw-r--r--fs/dlm/lock.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 2d3d102..724ddac 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -363,6 +363,7 @@ static int search_rsb_list(struct list_head *head, char *name, int len,
if (len == r->res_length && !memcmp(name, r->res_name, len))
goto found;
}
+ *r_ret = NULL;
return -EBADR;
found:
@@ -1782,7 +1783,8 @@ static void grant_pending_locks(struct dlm_rsb *r)
list_for_each_entry_safe(lkb, s, &r->res_grantqueue, lkb_statequeue) {
if (lkb->lkb_bastfn && lock_requires_bast(lkb, high, cw)) {
- if (cw && high == DLM_LOCK_PR)
+ if (cw && high == DLM_LOCK_PR &&
+ lkb->lkb_grmode == DLM_LOCK_PR)
queue_bast(r, lkb, DLM_LOCK_CW);
else
queue_bast(r, lkb, high);
OpenPOWER on IntegriCloud