diff options
author | Samuel Just <sam.just@inktank.com> | 2013-06-14 10:51:03 -0700 |
---|---|---|
committer | Samuel Just <sam.just@inktank.com> | 2013-06-17 14:50:53 -0700 |
commit | f164a325e5a2572b42bdae18eec5652f0a9a10a1 (patch) | |
tree | ac5da89f16578f667566ce4bc6bd60214b9212f2 | |
parent | c6dd60db8c9958561369b3fb6b05763fbcbda0d4 (diff) | |
download | ceph-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.cc | 12 |
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, |