diff options
| -rw-r--r-- | fs/ocfs2/dlm/dlmmaster.c | 14 |
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; |
