summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-06-14 10:51:03 -0700
committerSamuel Just <sam.just@inktank.com>2013-06-17 14:50:53 -0700
commitf164a325e5a2572b42bdae18eec5652f0a9a10a1 (patch)
treeac5da89f16578f667566ce4bc6bd60214b9212f2
parentc6dd60db8c9958561369b3fb6b05763fbcbda0d4 (diff)
downloadceph-f164a325e5a2572b42bdae18eec5652f0a9a10a1.tar.gz
PGLog: check for dirty_to != eversion_t() and dirty_from != eversion_t::max()
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r--src/osd/PGLog.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/osd/PGLog.cc b/src/osd/PGLog.cc
index 6a29a1d3955..d62991e06d6 100644
--- a/src/osd/PGLog.cc
+++ b/src/osd/PGLog.cc
@@ -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,