diff options
-rw-r--r-- | src/common/TrackedOp.h | 2 | ||||
-rw-r--r-- | src/osd/OpRequest.h | 1 |
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; } |