diff options
Diffstat (limited to 'fs/ocfs2/dlm/dlmmaster.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmmaster.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c index cf0f103963b1..af3f7aa73e13 100644 --- a/fs/ocfs2/dlm/dlmmaster.c +++ b/fs/ocfs2/dlm/dlmmaster.c | |||
@@ -1885,8 +1885,10 @@ ok: | |||
1885 | * up nodes that this node contacted */ | 1885 | * up nodes that this node contacted */ |
1886 | while ((nn = find_next_bit (mle->response_map, O2NM_MAX_NODES, | 1886 | while ((nn = find_next_bit (mle->response_map, O2NM_MAX_NODES, |
1887 | nn+1)) < O2NM_MAX_NODES) { | 1887 | nn+1)) < O2NM_MAX_NODES) { |
1888 | if (nn != dlm->node_num && nn != assert->node_idx) | 1888 | if (nn != dlm->node_num && nn != assert->node_idx) { |
1889 | master_request = 1; | 1889 | master_request = 1; |
1890 | break; | ||
1891 | } | ||
1890 | } | 1892 | } |
1891 | } | 1893 | } |
1892 | mle->master = assert->node_idx; | 1894 | mle->master = assert->node_idx; |
@@ -2354,6 +2356,10 @@ static int dlm_is_lockres_migrateable(struct dlm_ctxt *dlm, | |||
2354 | 2356 | ||
2355 | assert_spin_locked(&res->spinlock); | 2357 | assert_spin_locked(&res->spinlock); |
2356 | 2358 | ||
2359 | /* delay migration when the lockres is in MIGRATING state */ | ||
2360 | if (res->state & DLM_LOCK_RES_MIGRATING) | ||
2361 | return 0; | ||
2362 | |||
2357 | if (res->owner != dlm->node_num) | 2363 | if (res->owner != dlm->node_num) |
2358 | return 0; | 2364 | return 0; |
2359 | 2365 | ||