diff options
| -rw-r--r-- | fs/dlm/lock.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index fa5c07d51dcc..4c58d4a3adc4 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
| @@ -1737,6 +1737,18 @@ static int _can_be_granted(struct dlm_rsb *r, struct dlm_lkb *lkb, int now) | |||
| 1737 | return 1; | 1737 | return 1; |
| 1738 | 1738 | ||
| 1739 | /* | 1739 | /* |
| 1740 | * Even if the convert is compat with all granted locks, | ||
| 1741 | * QUECVT forces it behind other locks on the convert queue. | ||
| 1742 | */ | ||
| 1743 | |||
| 1744 | if (now && conv && (lkb->lkb_exflags & DLM_LKF_QUECVT)) { | ||
| 1745 | if (list_empty(&r->res_convertqueue)) | ||
| 1746 | return 1; | ||
| 1747 | else | ||
| 1748 | goto out; | ||
| 1749 | } | ||
| 1750 | |||
| 1751 | /* | ||
| 1740 | * The NOORDER flag is set to avoid the standard vms rules on grant | 1752 | * The NOORDER flag is set to avoid the standard vms rules on grant |
| 1741 | * order. | 1753 | * order. |
| 1742 | */ | 1754 | */ |
