From 68a91995ba4ae7a0dccbe73b9c007e71d86b0d9d Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 13 Jun 2013 15:13:47 -0700 Subject: [PATCH] osdc/Objecter: kick command ops on osd con resets Resend osd/pg commands on the OSDSession, just as we do with other request types. Signed-off-by: Sage Weil --- src/osdc/Objecter.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index ad7481f42ca..685d8c5fe5e 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -1013,6 +1013,17 @@ void Objecter::kick_requests(OSDSession *session) send_linger(lresend.begin()->second); lresend.erase(lresend.begin()); } + + // resend commands + map cresend; // resend in order + for (xlist::iterator k = session->command_ops.begin(); !k.end(); ++k) { + logger->inc(l_osdc_command_resend); + cresend[(*k)->tid] = *k; + } + while (!cresend.empty()) { + _send_command(cresend.begin()->second); + cresend.erase(cresend.begin()); + } } void Objecter::schedule_tick() -- 2.47.3