From fca89877ebe174f3929a9b7030ee55d27339fdd9 Mon Sep 17 00:00:00 2001 From: Josh Durgin Date: Mon, 24 Jul 2017 12:53:02 -0400 Subject: [PATCH] osd/PGLog: fix inaccurate missing assert Repair and EIO handling can add missing items after log.tail Fixes: http://tracker.ceph.com/issues/20753 Signed-off-by: Josh Durgin --- src/osd/PGLog.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/osd/PGLog.h b/src/osd/PGLog.h index d910bc7f56ad7..9cefb916a0e62 100644 --- a/src/osd/PGLog.h +++ b/src/osd/PGLog.h @@ -1296,12 +1296,12 @@ public: for (auto &&i: missing.get_items()) { if (checked.count(i.first)) continue; - if (i.second.need > log.tail || - i.first > info.last_backfill) { - ldpp_dout(dpp, -1) << __func__ << ": invalid missing set entry found " - << i.first << " " << i.second << " log tail = " - << log.tail << " last_backfill = " << info.last_backfill - << dendl; + if (i.first > info.last_backfill) { + ldpp_dout(dpp, -1) << __func__ << ": invalid missing set entry " + << "found before last_backfill: " + << i.first << " " << i.second + << " last_backfill = " << info.last_backfill + << dendl; assert(0 == "invalid missing set entry found"); } bufferlist bv; -- 2.39.5