Only for use in extremis, where we have encountered
a bug that generates an invalid FSMap, but the way
to resolve it might be to proceed anyway and stay
up long enough to use commands to fix it.
Fixes: #15063
Signed-off-by: John Spray <john.spray@redhat.com>
OPTION(mon_osd_reporter_subtree_level , OPT_STR, "host") // in which level of parent bucket the reporters are counted
OPTION(mon_osd_force_trim_to, OPT_INT, 0) // force mon to trim maps to this point, regardless of min_last_epoch_clean (dangerous, use with care)
OPTION(mon_mds_force_trim_to, OPT_INT, 0) // force mon to trim mdsmaps to this point (dangerous, use with care)
+OPTION(mon_mds_skip_sanity, OPT_BOOL, false) // skip safety assertions on FSMap (in case of bugs where we want to continue anyway)
// monitor debug options
OPTION(mon_debug_deprecated_as_obsolete, OPT_BOOL, false) // consider deprecated commands as obsolete
// new map
dout(4) << "new map" << dendl;
print_map(fsmap, 0);
- fsmap.sanity();
+ if (!g_conf->mon_mds_skip_sanity) {
+ fsmap.sanity();
+ }
check_subs();
update_logger();
// print map iff 'debug mon = 30' or higher
print_map(pending_fsmap, 30);
- pending_fsmap.sanity();
+ if (!g_conf->mon_mds_skip_sanity) {
+ pending_fsmap.sanity();
+ }
// Set 'modified' on maps modified this epoch
for (auto &i : fsmap.filesystems) {