Loading fs/dlm/lock.c +12 −0 Original line number Diff line number Diff line Loading @@ -1736,6 +1736,18 @@ static int _can_be_granted(struct dlm_rsb *r, struct dlm_lkb *lkb, int now) if (now && conv && !(lkb->lkb_exflags & DLM_LKF_QUECVT)) return 1; /* * Even if the convert is compat with all granted locks, * QUECVT forces it behind other locks on the convert queue. */ if (now && conv && (lkb->lkb_exflags & DLM_LKF_QUECVT)) { if (list_empty(&r->res_convertqueue)) return 1; else goto out; } /* * The NOORDER flag is set to avoid the standard vms rules on grant * order. Loading Loading
fs/dlm/lock.c +12 −0 Original line number Diff line number Diff line Loading @@ -1736,6 +1736,18 @@ static int _can_be_granted(struct dlm_rsb *r, struct dlm_lkb *lkb, int now) if (now && conv && !(lkb->lkb_exflags & DLM_LKF_QUECVT)) return 1; /* * Even if the convert is compat with all granted locks, * QUECVT forces it behind other locks on the convert queue. */ if (now && conv && (lkb->lkb_exflags & DLM_LKF_QUECVT)) { if (list_empty(&r->res_convertqueue)) return 1; else goto out; } /* * The NOORDER flag is set to avoid the standard vms rules on grant * order. Loading