diff options
author | Kurt Hackel <kurt.hackel@oracle.com> | 2006-04-27 22:01:35 -0400 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2006-06-26 17:42:53 -0400 |
commit | 2d1a868c563f07c07c681836d273d69efb7c5ad8 (patch) | |
tree | d17fd8d6ce075d70b4f8813f6571af634c0d0ba0 | |
parent | 41b8c8a101ba77f59d9a4b3cac6c846cb8a34840 (diff) |
ocfs2: take mle reference during migration
Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
-rw-r--r-- | fs/ocfs2/dlm/dlmmaster.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c index 376283e98c16..0b7e29e916ed 100644 --- a/fs/ocfs2/dlm/dlmmaster.c +++ b/fs/ocfs2/dlm/dlmmaster.c | |||
@@ -1710,6 +1710,23 @@ int dlm_assert_master_handler(struct o2net_msg *msg, u32 len, void *data) | |||
1710 | assert->node_idx); | 1710 | assert->node_idx); |
1711 | } | 1711 | } |
1712 | } | 1712 | } |
1713 | if (mle->type == DLM_MLE_MIGRATION) { | ||
1714 | if (flags & DLM_ASSERT_MASTER_MLE_CLEANUP) { | ||
1715 | mlog(0, "%s:%.*s: got cleanup assert" | ||
1716 | " from %u for migration\n", | ||
1717 | dlm->name, namelen, name, | ||
1718 | assert->node_idx); | ||
1719 | } else if (!(flags & DLM_ASSERT_MASTER_FINISH_MIGRATION)) { | ||
1720 | mlog(0, "%s:%.*s: got unrelated assert" | ||
1721 | " from %u for migration, ignoring\n", | ||
1722 | dlm->name, namelen, name, | ||
1723 | assert->node_idx); | ||
1724 | __dlm_put_mle(mle); | ||
1725 | spin_unlock(&dlm->master_lock); | ||
1726 | spin_unlock(&dlm->spinlock); | ||
1727 | goto done; | ||
1728 | } | ||
1729 | } | ||
1713 | } | 1730 | } |
1714 | spin_unlock(&dlm->master_lock); | 1731 | spin_unlock(&dlm->master_lock); |
1715 | 1732 | ||