In multimds and standy-replay enabled Ceph cluster,after reduce a filesystem mds num and restart an active mds,
its standy-replay mds didn't enter into active state and remained in the "resolve" state.
Fixes: https://tracker.ceph.com/issues/46976
Signed-off-by: Wei Qiaomiao <wei.qiaomiao@zte.com.cn>
(cherry picked from commit
a786d2543cddcd1e4fbb7a574b76c3a30ddbf512)
if (is_standby_replay())
standby_replaying = true;
- calc_recovery_set();
-
// Check if we need to wait for a newer OSD map before starting
Context *fin = new C_IO_Wrapper(this, new C_MDS_BootStart(this, MDS_BOOT_INITIAL));
bool const ready = objecter->wait_for_map(
reopen_log();
+ calc_recovery_set();
+
mdcache->resolve_start(new C_MDS_VoidFn(this, &MDSRank::resolve_done));
finish_contexts(g_ceph_context, waiting_for_resolve);
}