]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: remove invalid put on message 47379/head
authorNitzanMordhai <nmordech@redhat.com>
Sun, 24 Jul 2022 08:00:07 +0000 (08:00 +0000)
committerNitzanMordhai <nmordech@redhat.com>
Mon, 1 Aug 2022 08:30:23 +0000 (08:30 +0000)
message converted to use smart pointer, the put is extra step that
causing the double put and valgrind error
the regression was introduced by d4a71c3

Fixes: https://tracker.ceph.com/issues/52124
Signed-off-by: Nitzan Mordechai <nmordec@redhat.com>
src/osd/PGBackend.cc
src/osd/PrimaryLogPG.h

index 218224f0b9c23a9d36140e09b9caf2801ff5fc0a..b099a32867d6568f1b756453e6805d796207dcf7 100644 (file)
@@ -157,8 +157,6 @@ void PGBackend::handle_recovery_delete(OpRequestRef op)
     [=](int r) {
       if (r != -EAGAIN) {
        get_parent()->send_message_osd_cluster(reply, conn.get());
-      } else {
-       reply->put();
       }
     }));
   gather.activate();
index 28e6bdf329bcaea8df75bc417d368e9ec5df5ed7..3fe830763c0781f97a42d36c3e64369bbd84de08 100644 (file)
@@ -573,7 +573,7 @@ public:
   }
   void send_message_osd_cluster(
     MessageRef m, Connection *con) override {
-    osd->send_message_osd_cluster(m, con);
+    osd->send_message_osd_cluster(std::move(m), con);
   }
   void send_message_osd_cluster(
     Message *m, const ConnectionRef& con) override {