From: Sage Weil Date: Thu, 13 Jun 2013 22:13:47 +0000 (-0700) Subject: osdc/Objecter: kick command ops on osd con resets X-Git-Tag: v0.65~78^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=68a91995ba4ae7a0dccbe73b9c007e71d86b0d9d;p=ceph.git 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 --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index ad7481f42cae..685d8c5fe5e1 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()