From 2e1b5d37b33ac196f73c044462df3df7ec15878c Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Wed, 23 Aug 2017 16:34:12 +0800 Subject: [PATCH] osd/PGBackend: delete reply if fails to complete delete request if any of the objects fails to be deleted due to pg reset after latest osdmap, the pg recovery delete reply won't be sent to the primary OSD. in that case, we should delete the reply. Fixes: http://tracker.ceph.com/issues/20913 Signed-off-by: Kefu Chai (cherry picked from commit 1c18b5cb0c27d7976e6d3d5e4ea6c3935685019b) --- src/osd/PGBackend.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/osd/PGBackend.cc b/src/osd/PGBackend.cc index a1adce752be..ef500e3351d 100644 --- a/src/osd/PGBackend.cc +++ b/src/osd/PGBackend.cc @@ -140,6 +140,8 @@ void PGBackend::handle_recovery_delete(OpRequestRef op) [=](int r) { if (r != -EAGAIN) { get_parent()->send_message_osd_cluster(reply, conn.get()); + } else { + delete reply; } })); gather.activate(); -- 2.47.3