aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/dlm/dlmmaster.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ocfs2/dlm/dlmmaster.c')
-rw-r--r--fs/ocfs2/dlm/dlmmaster.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/ocfs2/dlm/dlmmaster.c b/fs/ocfs2/dlm/dlmmaster.c
index 81ceee2e0d50..e5d7271d5038 100644
--- a/fs/ocfs2/dlm/dlmmaster.c
+++ b/fs/ocfs2/dlm/dlmmaster.c
@@ -994,12 +994,14 @@ recheck:
994 spin_unlock(&res->spinlock); 994 spin_unlock(&res->spinlock);
995 /* this will cause the master to re-assert across 995 /* this will cause the master to re-assert across
996 * the whole cluster, freeing up mles */ 996 * the whole cluster, freeing up mles */
997 ret = dlm_do_master_request(mle, res->owner); 997 if (res->owner != dlm->node_num) {
998 if (ret < 0) { 998 ret = dlm_do_master_request(mle, res->owner);
999 /* give recovery a chance to run */ 999 if (ret < 0) {
1000 mlog(ML_ERROR, "link to %u went down?: %d\n", res->owner, ret); 1000 /* give recovery a chance to run */
1001 msleep(500); 1001 mlog(ML_ERROR, "link to %u went down?: %d\n", res->owner, ret);
1002 goto recheck; 1002 msleep(500);
1003 goto recheck;
1004 }
1003 } 1005 }
1004 ret = 0; 1006 ret = 0;
1005 goto leave; 1007 goto leave;