dout(10) << "-- state -->> ReplicaActive" << dendl;
m_pg = scrbr->get_pg();
m_osds = m_pg->get_pg_osd(ScrubberPasskey());
- clear_shallow_history<ReplicaIdle, 0>();
- clear_shallow_history<ReplicaActive, 0>();
}
ReplicaActive::~ReplicaActive()
"reservation",
scrbr->get_whoami(), scrbr->get_spgid());
context<ReplicaActive>().clear_remote_reservation(true);
- clear_shallow_history<ReplicaIdle, 0>();
post_event(ReplicaPushesUpd{});
return transit<ReplicaActiveOp>();
}
{
dout(10) << "ReplicaActiveOp::react(const ReplicaRelease&)" << dendl;
post_event(ev);
- return transit<sc::shallow_history<ReplicaReserved>>();
+ return transit<ReplicaReserved>();
}
dout(10) << "replica scrub job preempted" << dendl;
scrbr->send_preempted_replica();
- return transit<sc::shallow_history<ReplicaReserved>>();
+ return transit<ReplicaReserved>();
}
// start or check progress of build_replica_map_chunk()
if (ret_init != -EINPROGRESS) {
dout(10) << "ReplicaBuildingMap::react(const SchedReplica&): back to idle"
<< dendl;
- return transit<sc::shallow_history<ReplicaReserved>>();
+ return transit<ReplicaReserved>();
}
dout(20) << "ReplicaBuildingMap::react(const SchedReplica&): discarded"
#include <boost/statechart/event_base.hpp>
#include <boost/statechart/in_state_reaction.hpp>
#include <boost/statechart/simple_state.hpp>
-#include <boost/statechart/shallow_history.hpp>
#include <boost/statechart/state.hpp>
#include <boost/statechart/state_machine.hpp>
#include <boost/statechart/transition.hpp>
* - initial state of ReplicaActive
* - No scrubbing is performed in this state, but reservation-related
* events are handled.
- * - uses 'shallow history', so that when returning from ReplicaActiveOp, we
- * return to where we were - either reserved by our primary, or unreserved.
*
* - sub-states:
* * ReplicaUnreserved - not reserved by a primary. In this state we
struct ReplicaIdle : sc::state<
ReplicaIdle,
ReplicaActive,
- ReplicaUnreserved,
- sc::has_shallow_history>,
+ ReplicaUnreserved>,
NamedSimply {
explicit ReplicaIdle(my_context ctx);
~ReplicaIdle() = default;