ocfs2: Fix a race in o2dlm lockres mastery
authorSrinivas Eeda <srinivas.eeda@oracle.com>
Mon, 22 Mar 2010 23:50:47 +0000 (16:50 -0700)
committerJoel Becker <joel.becker@oracle.com>
Wed, 24 Mar 2010 01:22:59 +0000 (18:22 -0700)
commit14741472a05245ed5778aa0aec055e1f920b6ef8
tree0384fc0f8c3439a4bb2900bc725dae8a1f7924dd
parentb54c2ca475fa7d7450a45b6d778dae9dbe0bcbfe
ocfs2: Fix a race in o2dlm lockres mastery

In o2dlm, the master of a lock resource keeps a map of all interested
nodes.  This prevents the master from purging the resource before an
interested node can create a lock.

A race between the mastery thread and the mastery handler allowed an
interested node to discover who the master is without informing the
master directly.  This is easily fixed by holding the dlm spinlock a
little longer in the mastery handler.

Signed-off-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/dlm/dlmmaster.c