From: Jason Dillaman Date: Thu, 29 Sep 2016 12:19:52 +0000 (-0400) Subject: journal: use reverse iterator search to find flush record X-Git-Tag: v10.2.4~61^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9f3614377043efb56c606905a4b4f5c86b3e074e;p=ceph.git journal: use reverse iterator search to find flush record Signed-off-by: Jason Dillaman (cherry picked from commit a96065815558e50361af4c701c23e5248962dfe0) --- diff --git a/src/journal/ObjectRecorder.cc b/src/journal/ObjectRecorder.cc index 1079b0a8db787..f329c1fbed709 100644 --- a/src/journal/ObjectRecorder.cc +++ b/src/journal/ObjectRecorder.cc @@ -132,12 +132,16 @@ void ObjectRecorder::flush(const FutureImplPtr &future) { return; } - AppendBuffers::iterator it; - for (it = m_append_buffers.begin(); it != m_append_buffers.end(); ++it) { - if (it->first == future) { + AppendBuffers::reverse_iterator r_it; + for (r_it = m_append_buffers.rbegin(); r_it != m_append_buffers.rend(); + ++r_it) { + if (r_it->first == future) { break; } } + assert(r_it != m_append_buffers.rend()); + + auto it = (++r_it).base(); assert(it != m_append_buffers.end()); ++it;