]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
logging: LogClient: refactor handle_log_ack
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 2 Dec 2010 19:11:22 +0000 (11:11 -0800)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Mon, 6 Dec 2010 23:30:17 +0000 (15:30 -0800)
Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
src/common/LogClient.cc
src/common/LogClient.h

index 179b04c0704a9096f7406d7f0fc0042dd2e74ead..b3900c8a852bfc64fc2dc7eababc9fef8e10d78f 100644 (file)
@@ -108,9 +108,14 @@ void LogClient::handle_log_ack(MLogAck *m)
   dout(10) << "handle_log_ack " << *m << dendl;
 
   version_t last = m->last;
-  while (log_queue.size() && log_queue.begin()->seq <= last) {
-    dout(10) << " logged " << log_queue.front() << dendl;
-    log_queue.pop_front();
+
+  deque<LogEntry>::iterator q = log_queue.begin();
+  while (q != log_queue.end()) {
+    const LogEntry &entry(*q);
+    if (entry.seq > last)
+      break;
+    dout(10) << " logged " << entry << dendl;
+    q = log_queue.erase(q);
   }
   m->put();
 }
index aad5eb9d1adcb3f4ddc53d1410d8d57aab0ea6c7..1738269ae03f11e7d822c7fb6466e2b4ab93ca93 100644 (file)
@@ -110,7 +110,7 @@ private:
   bool is_synchronous;
   Mutex log_lock;
   version_t last_log;
-  deque<LogEntry> log_queue;
+  std::deque<LogEntry> log_queue;
 
   friend class LogClientTemp;
 };