]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: remove invalid put on message 48039/head
authorNitzanMordhai <nmordech@redhat.com>
Sun, 24 Jul 2022 08:00:07 +0000 (08:00 +0000)
committerNitzan Mordechai <nmordech@redhat.com>
Sun, 11 Sep 2022 05:05:00 +0000 (08:05 +0300)
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>
(cherry picked from commit c449638812daeafa89c592b9c396eaa66327f85f)

src/osd/PGBackend.cc
src/osd/PrimaryLogPG.h

index 9ae6b2c14e5c2670dcffbf70984cc9fbdda801c6..d79dc518809623c35f83574d9c6551f277800969 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 4a54e6ebe2cd7de884dedb1a6842675b692df270..1a2c1149c7b75c97c7edf780618c83c055575bb4 100644 (file)
@@ -572,7 +572,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 {