This fixes a leak on shutdown.
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
#undef dout_prefix
#define dout_prefix *_dout << pg->gen_prefix()
+ReplicatedPG::SnapTrimmer::~SnapTrimmer()
+{
+ while (!repops.empty()) {
+ (*repops.begin())->put();
+ repops.erase(repops.begin());
+ }
+}
+
void ReplicatedPG::SnapTrimmer::log_enter(const char *state_name)
{
dout(20) << "enter " << state_name << dendl;
bool need_share_pg_info;
bool requeue;
SnapTrimmer(ReplicatedPG *pg) : pg(pg), need_share_pg_info(false), requeue(false) {}
+ ~SnapTrimmer();
void log_enter(const char *state_name);
void log_exit(const char *state_name, utime_t duration);
} snap_trimmer_machine;