diff options
Diffstat (limited to 'fs/ocfs2/dlm/dlmlock.c')
-rw-r--r-- | fs/ocfs2/dlm/dlmlock.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/fs/ocfs2/dlm/dlmlock.c b/fs/ocfs2/dlm/dlmlock.c index d1a0038557a3..e709412e6e32 100644 --- a/fs/ocfs2/dlm/dlmlock.c +++ b/fs/ocfs2/dlm/dlmlock.c | |||
@@ -646,7 +646,19 @@ retry_lock: | |||
646 | mlog(0, "retrying lock with migration/" | 646 | mlog(0, "retrying lock with migration/" |
647 | "recovery/in progress\n"); | 647 | "recovery/in progress\n"); |
648 | msleep(100); | 648 | msleep(100); |
649 | dlm_wait_for_recovery(dlm); | 649 | /* no waiting for dlm_reco_thread */ |
650 | if (recovery) { | ||
651 | if (status == DLM_RECOVERING) { | ||
652 | mlog(0, "%s: got RECOVERING " | ||
653 | "for $REOCVERY lock, master " | ||
654 | "was %u\n", dlm->name, | ||
655 | res->owner); | ||
656 | dlm_wait_for_node_death(dlm, res->owner, | ||
657 | DLM_NODE_DEATH_WAIT_MAX); | ||
658 | } | ||
659 | } else { | ||
660 | dlm_wait_for_recovery(dlm); | ||
661 | } | ||
650 | goto retry_lock; | 662 | goto retry_lock; |
651 | } | 663 | } |
652 | 664 | ||