ocfs2/dlm: make existing convertion precedent over new lock
authorWengang Wang <wen.gang.wang@oracle.com>
Wed, 8 Dec 2010 12:34:39 +0000 (20:34 +0800)
committerJoel Becker <joel.becker@oracle.com>
Thu, 16 Dec 2010 08:46:08 +0000 (00:46 -0800)
Make existing convertion precedent over new lock. It makes o2dlm locking more
like fair locking.

Signed-off-by: Wengang Wang <wen.gang.wang@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/dlm/dlmlock.c

index 69cf369..7009292 100644 (file)
@@ -106,6 +106,9 @@ static int dlm_can_grant_new_lock(struct dlm_lock_resource *res,
 
                if (!dlm_lock_compatible(tmplock->ml.type, lock->ml.type))
                        return 0;
+               if (!dlm_lock_compatible(tmplock->ml.convert_type,
+                                        lock->ml.type))
+                       return 0;
        }
 
        return 1;