diff options
Diffstat (limited to 'fs/dlm/recoverd.c')
-rw-r--r-- | fs/dlm/recoverd.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/fs/dlm/recoverd.c b/fs/dlm/recoverd.c index 3780caf7ae0..f1a9073c083 100644 --- a/fs/dlm/recoverd.c +++ b/fs/dlm/recoverd.c | |||
@@ -54,7 +54,7 @@ static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) | |||
54 | unsigned long start; | 54 | unsigned long start; |
55 | int error, neg = 0; | 55 | int error, neg = 0; |
56 | 56 | ||
57 | log_debug(ls, "dlm_recover %llx", (unsigned long long)rv->seq); | 57 | log_debug(ls, "dlm_recover %llu", (unsigned long long)rv->seq); |
58 | 58 | ||
59 | mutex_lock(&ls->ls_recoverd_active); | 59 | mutex_lock(&ls->ls_recoverd_active); |
60 | 60 | ||
@@ -84,6 +84,8 @@ static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) | |||
84 | goto fail; | 84 | goto fail; |
85 | } | 85 | } |
86 | 86 | ||
87 | ls->ls_recover_locks_in = 0; | ||
88 | |||
87 | dlm_set_recover_status(ls, DLM_RS_NODES); | 89 | dlm_set_recover_status(ls, DLM_RS_NODES); |
88 | 90 | ||
89 | error = dlm_recover_members_wait(ls); | 91 | error = dlm_recover_members_wait(ls); |
@@ -130,7 +132,7 @@ static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) | |||
130 | * Clear lkb's for departed nodes. | 132 | * Clear lkb's for departed nodes. |
131 | */ | 133 | */ |
132 | 134 | ||
133 | dlm_purge_locks(ls); | 135 | dlm_recover_purge(ls); |
134 | 136 | ||
135 | /* | 137 | /* |
136 | * Get new master nodeid's for rsb's that were mastered on | 138 | * Get new master nodeid's for rsb's that were mastered on |
@@ -161,6 +163,9 @@ static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) | |||
161 | goto fail; | 163 | goto fail; |
162 | } | 164 | } |
163 | 165 | ||
166 | log_debug(ls, "dlm_recover_locks %u in", | ||
167 | ls->ls_recover_locks_in); | ||
168 | |||
164 | /* | 169 | /* |
165 | * Finalize state in master rsb's now that all locks can be | 170 | * Finalize state in master rsb's now that all locks can be |
166 | * checked. This includes conversion resolution and lvb | 171 | * checked. This includes conversion resolution and lvb |
@@ -225,9 +230,9 @@ static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) | |||
225 | goto fail; | 230 | goto fail; |
226 | } | 231 | } |
227 | 232 | ||
228 | dlm_grant_after_purge(ls); | 233 | dlm_recover_grant(ls); |
229 | 234 | ||
230 | log_debug(ls, "dlm_recover %llx generation %u done: %u ms", | 235 | log_debug(ls, "dlm_recover %llu generation %u done: %u ms", |
231 | (unsigned long long)rv->seq, ls->ls_generation, | 236 | (unsigned long long)rv->seq, ls->ls_generation, |
232 | jiffies_to_msecs(jiffies - start)); | 237 | jiffies_to_msecs(jiffies - start)); |
233 | mutex_unlock(&ls->ls_recoverd_active); | 238 | mutex_unlock(&ls->ls_recoverd_active); |
@@ -237,7 +242,7 @@ static int ls_recover(struct dlm_ls *ls, struct dlm_recover *rv) | |||
237 | 242 | ||
238 | fail: | 243 | fail: |
239 | dlm_release_root_list(ls); | 244 | dlm_release_root_list(ls); |
240 | log_debug(ls, "dlm_recover %llx error %d", | 245 | log_debug(ls, "dlm_recover %llu error %d", |
241 | (unsigned long long)rv->seq, error); | 246 | (unsigned long long)rv->seq, error); |
242 | mutex_unlock(&ls->ls_recoverd_active); | 247 | mutex_unlock(&ls->ls_recoverd_active); |
243 | return error; | 248 | return error; |