ocfs2/dlm: Hold off sending lockres drop ref message while lockres is migrating
authorSunil Mushran <sunil.mushran@oracle.com>
Tue, 16 Dec 2008 23:49:21 +0000 (15:49 -0800)
committerMark Fasheh <mfasheh@suse.com>
Mon, 5 Jan 2009 16:40:35 +0000 (08:40 -0800)
During lockres purge, o2dlm sends a drop reference message to the lockres
master. This patch delays the message if the lockres is being migrated.

Fixes oss bugzilla#1012
http://oss.oracle.com/bugzilla/show_bug.cgi?id=1012

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
fs/ocfs2/dlm/dlmthread.c

index 4060bb328bc8a08c22bbd77c59835d757ebdcda5..d1295203029fd927131e626c44f97def0433a918 100644 (file)
@@ -181,7 +181,8 @@ static int dlm_purge_lockres(struct dlm_ctxt *dlm,
 
                spin_lock(&res->spinlock);
                /* This ensures that clear refmap is sent after the set */
-               __dlm_wait_on_lockres_flags(res, DLM_LOCK_RES_SETREF_INPROG);
+               __dlm_wait_on_lockres_flags(res, (DLM_LOCK_RES_SETREF_INPROG |
+                                                 DLM_LOCK_RES_MIGRATING));
                spin_unlock(&res->spinlock);
 
                /* clear our bit from the master's refmap, ignore errors */