ocfs2_dlm: Call node eviction callbacks from heartbeat handler
authorMark Fasheh <mark.fasheh@oracle.com>
Fri, 7 Sep 2007 18:11:10 +0000 (11:11 -0700)
committerMark Fasheh <mark.fasheh@oracle.com>
Fri, 25 Jan 2008 22:36:40 +0000 (14:36 -0800)
With this, a dlm client can take advantage of the group protocol in the dlm
to get full notification whenever a node within the dlm domain leaves
unexpectedly.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/dlm/dlmrecovery.c

index 2fde7bf91434b0e95faddaf188d193877d803b39..b10f3e313fbfe45190ee7e2318169cc7ab414454 100644 (file)
@@ -2321,6 +2321,13 @@ void dlm_hb_node_down_cb(struct o2nm_node *node, int idx, void *data)
        if (!dlm_grab(dlm))
                return;
 
+       /*
+        * This will notify any dlm users that a node in our domain
+        * went away without notifying us first.
+        */
+       if (test_bit(idx, dlm->domain_map))
+               dlm_fire_domain_eviction_callbacks(dlm, idx);
+
        spin_lock(&dlm->spinlock);
        __dlm_hb_node_down(dlm, idx);
        spin_unlock(&dlm->spinlock);