diff --git a/[refs] b/[refs] index eb4c1a2ebbc5..6979ece2751e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 254ae43ab8d7877c980fca3636624e0777a70fa4 +refs/heads/master: 329fc4c37212588091b64bdf09afaeb18642aae2 diff --git a/trunk/fs/dlm/lock.c b/trunk/fs/dlm/lock.c index 2d3d1027ce2b..7ba9586a0943 100644 --- a/trunk/fs/dlm/lock.c +++ b/trunk/fs/dlm/lock.c @@ -1782,7 +1782,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);