]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PGLog: fix clear() to avoid the IndexLog::zero() asserts
authorSamuel Just <sam.just@inktank.com>
Mon, 30 Jun 2014 20:40:07 +0000 (13:40 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 15 Aug 2014 17:43:22 +0000 (10:43 -0700)
Introduced in:
  c5b8d8105d965da852c79add607b69d5ae79a4d4
  ac11ca40b4f4525cbe9b1778b1c5d9472ecb9efa
Signed-off-by: Samuel Just <sam.just@inktank.com>
(cherry picked from commit 959f2b25910360b930183fbf469ce984a48542dd)

src/osd/PGLog.cc
src/osd/PGLog.h

index 36b26e73adf5b8ed3fd64413a127ce427c88200f..9523b12bf9281baae613d9f23ba3dd4971f3f804 100644 (file)
@@ -136,7 +136,7 @@ void PGLog::reset_backfill()
 void PGLog::clear() {
   divergent_priors.clear();
   missing.clear();
-  log.zero();
+  log.clear();
   log_keys_debug.clear();
   undirty();
 }
index ca4763068a07293ae766de308a2c95b972c565fa..20021896f385402b074349f52ebddb7743731dac 100644 (file)
@@ -109,6 +109,11 @@ struct PGLog {
       rollback_info_trimmed_to_riter = log.rbegin();
       reset_recovery_pointers();
     }
+    void clear() {
+      rollback_info_trimmed_to = head;
+      rollback_info_trimmed_to_riter = log.rbegin();
+      zero();
+    }
     void reset_recovery_pointers() {
       complete_to = log.end();
       last_requested = 0;