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>
[=](int r) {
if (r != -EAGAIN) {
get_parent()->send_message_osd_cluster(reply, conn.get());
- } else {
- reply->put();
}
}));
gather.activate();
}
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 {