Browse Source

ocfs2/dlm: Target node death during resource migration leads to thread spin

During resource migration, if the target node were to die, the thread doing
the migration spins until the target node is not removed from the domain map.
This patch slows the spin by making the thread wait for the recovery to kick in.

Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <jlbec@evilplan.org>
Sunil Mushran 14 years ago
parent
commit
df016c665b
1 changed files with 3 additions and 0 deletions
  1. 3 0
      fs/ocfs2/dlm/dlmmaster.c

+ 3 - 0
fs/ocfs2/dlm/dlmmaster.c

@@ -2574,6 +2574,9 @@ fail:
 		res->state &= ~DLM_LOCK_RES_MIGRATING;
 		wake = 1;
 		spin_unlock(&res->spinlock);
+		if (dlm_is_host_down(ret))
+			dlm_wait_for_node_death(dlm, target,
+						DLM_NODE_DEATH_WAIT_MAX);
 		goto leave;
 	}