From: John Spray Date: Mon, 3 Nov 2014 12:39:56 +0000 (+0000) Subject: mds: in segment expiry, use end instead of start X-Git-Tag: v0.90~29^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=efeaaaa0b079abb29ca757077c304a6efe94ec73;p=ceph.git mds: in segment expiry, use end instead of start Previously we were always leaving the last log segment un-expired from Journaler's POV, because we were updating expire_pos to the *start* of the expired journal segment instead of the *end*. This was harmless, but cleaning it up makes it easier to see what's going on during journal flushes in testing. Signed-off-by: John Spray --- diff --git a/src/mds/MDLog.cc b/src/mds/MDLog.cc index 836db4730d8de..60c84e4f941f4 100644 --- a/src/mds/MDLog.cc +++ b/src/mds/MDLog.cc @@ -607,14 +607,15 @@ void MDLog::_trim_expired_segments() } dout(10) << "_trim_expired_segments trimming expired " - << ls->seq << "/" << ls->offset << dendl; + << ls->seq << "/0x" << std::hex << ls->offset << std::dec << dendl; expired_events -= ls->num_events; expired_segments.erase(ls); num_events -= ls->num_events; // this was the oldest segment, adjust expire pos - if (journaler->get_expire_pos() < ls->offset) - journaler->set_expire_pos(ls->offset); + if (journaler->get_expire_pos() < ls->end) { + journaler->set_expire_pos(ls->end); + } logger->set(l_mdl_expos, ls->offset); logger->inc(l_mdl_segtrm);