]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
PGLog: check for dirty_to != eversion_t() and dirty_from != eversion_t::max()
authorSamuel Just <sam.just@inktank.com>
Fri, 14 Jun 2013 17:51:03 +0000 (10:51 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 17 Jun 2013 21:50:53 +0000 (14:50 -0700)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PGLog.cc

index 6a29a1d39550911201be7e28eed4e179ac5b896f..d62991e06d67aa89fb2fe47dd2147132149a6ff3 100644 (file)
@@ -572,11 +572,13 @@ void PGLog::_write_log(
 //dout(10) << "write_log, clearing up to " << dirty_to << dendl;
   if (touch_log)
     t.touch(coll_t(), log_oid);
-  t.omap_rmkeyrange(
-    coll_t(), log_oid,
-    eversion_t().get_key_name(), dirty_to.get_key_name());
-  clear_up_to(log_keys_debug, dirty_to.get_key_name());
-  if (dirty_to != eversion_t::max()) {
+  if (dirty_to != eversion_t()) {
+    t.omap_rmkeyrange(
+      coll_t(), log_oid,
+      eversion_t().get_key_name(), dirty_to.get_key_name());
+    clear_up_to(log_keys_debug, dirty_to.get_key_name());
+  }
+  if (dirty_to != eversion_t::max() && dirty_from != eversion_t::max()) {
     //   dout(10) << "write_log, clearing from " << dirty_from << dendl;
     t.omap_rmkeyrange(
       coll_t(), log_oid,