From 0e6b0dc3ccebaaf3bb098ba91661fa9caf16c306 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 24 Jul 2011 15:40:14 -0700 Subject: [PATCH] mds: journal copious ESubtreeMaps if mds_debug_subtrees Journal a new subtree map after every event if subtree debugging is enabled. Signed-off-by: Sage Weil --- src/mds/MDLog.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/mds/MDLog.cc b/src/mds/MDLog.cc index 91233eaf705d1..15ae1d4016930 100644 --- a/src/mds/MDLog.cc +++ b/src/mds/MDLog.cc @@ -190,8 +190,6 @@ void MDLog::submit_entry(LogEvent *le, Context *c) le->_segment->end = journaler->get_write_pos(); - delete le; - if (logger) { logger->inc(l_mdl_evadd); logger->set(l_mdl_ev, num_events); @@ -213,7 +211,13 @@ void MDLog::submit_entry(LogEvent *le, Context *c) dout(10) << "submit_entry also starting new segment: last = " << last_seg << ", cur pos = " << journaler->get_write_pos() << dendl; start_new_segment(); + } else if (g_conf->mds_debug_subtrees && + le->get_type() != EVENT_SUBTREEMAP) { + // debug: journal this every time to catch subtree replay bugs + submit_entry(mds->mdcache->create_subtree_map()); } + + delete le; } void MDLog::wait_for_safe(Context *c) -- 2.39.5