diff options
Diffstat (limited to 'fs/dlm/lock.c')
-rw-r--r-- | fs/dlm/lock.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index 2d3d1027ce2b..724ddac91538 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, | |||
363 | if (len == r->res_length && !memcmp(name, r->res_name, len)) | 363 | if (len == r->res_length && !memcmp(name, r->res_name, len)) |
364 | goto found; | 364 | goto found; |
365 | } | 365 | } |
366 | *r_ret = NULL; | ||
366 | return -EBADR; | 367 | return -EBADR; |
367 | 368 | ||
368 | found: | 369 | found: |
@@ -1782,7 +1783,8 @@ static void grant_pending_locks(struct dlm_rsb *r) | |||
1782 | 1783 | ||
1783 | list_for_each_entry_safe(lkb, s, &r->res_grantqueue, lkb_statequeue) { | 1784 | list_for_each_entry_safe(lkb, s, &r->res_grantqueue, lkb_statequeue) { |
1784 | if (lkb->lkb_bastfn && lock_requires_bast(lkb, high, cw)) { | 1785 | if (lkb->lkb_bastfn && lock_requires_bast(lkb, high, cw)) { |
1785 | if (cw && high == DLM_LOCK_PR) | 1786 | if (cw && high == DLM_LOCK_PR && |
1787 | lkb->lkb_grmode == DLM_LOCK_PR) | ||
1786 | queue_bast(r, lkb, DLM_LOCK_CW); | 1788 | queue_bast(r, lkb, DLM_LOCK_CW); |
1787 | else | 1789 | else |
1788 | queue_bast(r, lkb, high); | 1790 | queue_bast(r, lkb, high); |