void OpHistory::cleanup(utime_t now)
{
while (arrived.size() &&
- now - arrived.begin()->first > (double)(g_conf->osd_op_history_duration)) {
+ (now - arrived.begin()->first >
+ (double)(g_conf->osd_op_history_duration))) {
duration.erase(make_pair(
arrived.begin()->second->get_duration(),
arrived.begin()->second));
- delete arrived.begin()->second;
arrived.erase(arrived.begin());
}
arrived.erase(make_pair(
duration.begin()->second->get_arrived(),
duration.begin()->second));
- delete duration.begin()->second;
duration.erase(duration.begin());
}
}
f->dump_int("duration to keep", g_conf->osd_op_history_duration);
{
f->open_array_section("Ops");
- for (set<pair<utime_t, const OpRequest *> >::const_iterator i =
+ for (set<pair<utime_t, OpRequestRef> >::const_iterator i =
arrived.begin();
i != arrived.end();
++i) {
#include "osd/osd_types.h"
class OpRequest;
+typedef std::tr1::shared_ptr<OpRequest> OpRequestRef;
class OpHistory {
- set<pair<utime_t, const OpRequest *> > arrived;
- set<pair<double, const OpRequest *> > duration;
+ set<pair<utime_t, OpRequestRef> > arrived;
+ set<pair<double, OpRequestRef> > duration;
void cleanup(utime_t now);
public:
- void insert(utime_t now, OpRequest *op);
+ void insert(utime_t now, OpRequestRef op);
void dump_ops(utime_t now, Formatter *f);
};
-class OpRequest;
-typedef std::tr1::shared_ptr<OpRequest> OpRequestRef;
class OpTracker {
class RemoveOnDelete {
OpTracker *tracker;