]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: automate state logging in the backfill FSM. 35130/head
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 10 Jul 2020 20:24:05 +0000 (22:24 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 13 Jul 2020 14:25:32 +0000 (16:25 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/backfill_state.cc
src/crimson/osd/backfill_state.h

index 44f9fa0177d81892206070befd99492a76bed2a8..7c66013e18c9906d54f4aae70ebd7acc52c844ff 100644 (file)
@@ -2,6 +2,7 @@
 // vim: ts=8 sw=2 smarttab
 
 #include <algorithm>
+#include <boost/type_index.hpp>
 
 #include "crimson/osd/backfill_state.h"
 #include "crimson/osd/backfill_facades.h"
@@ -31,6 +32,20 @@ BackfillState::BackfillState(
   backfill_machine.initiate();
 }
 
+template <class S>
+BackfillState::StateHelper<S>::StateHelper()
+{
+  logger().debug("enter {}",
+                boost::typeindex::type_id<S>().pretty_name());
+}
+
+template <class S>
+BackfillState::StateHelper<S>::~StateHelper()
+{
+  logger().debug("exit {}",
+                boost::typeindex::type_id<S>().pretty_name());
+}
+
 BackfillState::~BackfillState() = default;
 
 BackfillState::BackfillMachine::BackfillMachine(
@@ -265,7 +280,6 @@ BackfillState::Enqueuing::update_on_peers(const hobject_t& check)
 BackfillState::Enqueuing::Enqueuing(my_context ctx)
   : my_base(ctx)
 {
-  logger().debug("{}", __func__);
   auto& primary_bi = backfill_state().backfill_info;
 
   // update our local interval to cope with recent changes
@@ -336,7 +350,6 @@ BackfillState::Enqueuing::Enqueuing(my_context ctx)
 BackfillState::PrimaryScanning::PrimaryScanning(my_context ctx)
   : my_base(ctx)
 {
-  logger().debug("{}", __func__);
   backfill_state().backfill_info.version = \
     peering_state().get_info().last_update;
   backfill_listener().request_primary_scan(
@@ -373,7 +386,6 @@ bool BackfillState::ReplicasScanning::replica_needs_scan(
 BackfillState::ReplicasScanning::ReplicasScanning(my_context ctx)
   : my_base(ctx)
 {
-  logger().debug("{}", __func__);
   for (const auto& bt : peering_state().get_backfill_targets()) {
     if (const auto& pbi = backfill_state().peer_backfill_info.at(bt);
         replica_needs_scan(pbi, backfill_state().backfill_info)) {
@@ -434,7 +446,6 @@ BackfillState::ReplicasScanning::react(ObjectPushed evt)
 BackfillState::Waiting::Waiting(my_context ctx)
   : my_base(ctx)
 {
-  logger().debug("{}: entered Waiting", __func__);
 }
 
 boost::statechart::result
index 96ae2482af7b017e9338964897f7dadc76c9b30f..8094490db461a873c439db6e9d1e0a0c7a2f6623 100644 (file)
@@ -96,6 +96,9 @@ public:
 private:
   template <class S>
   struct StateHelper {
+    StateHelper();
+    ~StateHelper();
+
     BackfillState& backfill_state() {
       return static_cast<S*>(this) \
         ->template context<BackfillMachine>().backfill_state;