[PATCH] ocfs2: detach from heartbeat events before freeing mle
authorKurt Hackel <Kurt.Hackel@oracle.com>
Tue, 14 Feb 2006 19:45:21 +0000 (11:45 -0800)
committerMark Fasheh <mark.fasheh@oracle.com>
Thu, 16 Feb 2006 20:04:55 +0000 (12:04 -0800)
Signed-off-by: Kurt Hackel <Kurt.Hackel@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/dlm/dlmmaster.c

index a3194fe173d97b498b5753777e85306569ed094b..2e2e95e6949924f99c81ff9d368c5852437e5ece 100644 (file)
@@ -2482,7 +2482,9 @@ top:
                                atomic_set(&mle->woken, 1);
                                spin_unlock(&mle->spinlock);
                                wake_up(&mle->wq);
-                               /* final put will take care of list removal */
+                               /* do not need events any longer, so detach 
+                                * from heartbeat */
+                               __dlm_mle_detach_hb_events(dlm, mle);
                                __dlm_put_mle(mle);
                        }
                        continue;
@@ -2537,6 +2539,9 @@ top:
                        spin_unlock(&res->spinlock);
                        dlm_lockres_put(res);
 
+                       /* about to get rid of mle, detach from heartbeat */
+                       __dlm_mle_detach_hb_events(dlm, mle);
+
                        /* dump the mle */
                        spin_lock(&dlm->master_lock);
                        __dlm_put_mle(mle);