summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/TrackedOp.h2
-rw-r--r--src/osd/OpRequest.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/common/TrackedOp.h b/src/common/TrackedOp.h
index b10485528ab..59e3c6288cc 100644
--- a/src/common/TrackedOp.h
+++ b/src/common/TrackedOp.h
@@ -141,7 +141,7 @@ protected:
virtual void init_from_message() {};
public:
- virtual ~TrackedOp() {}
+ virtual ~TrackedOp() { if (request) request->put(); }
utime_t get_arrived() const {
return received_time;
diff --git a/src/osd/OpRequest.h b/src/osd/OpRequest.h
index 18bfe1a1d07..6d572e0f015 100644
--- a/src/osd/OpRequest.h
+++ b/src/osd/OpRequest.h
@@ -78,6 +78,7 @@ public:
~OpRequest() {
assert(request);
request->put();
+ request = NULL;
}
bool been_queued_for_pg() { return hit_flag_points & flag_queued_for_pg; }