Skip to content

Commit e90f0e9

Browse files
committed
Merge PR ceph#53206 into main
* refs/pull/53206/head: mds: use LogSegment dump for debugging Reviewed-by: Leonid Usov <[email protected]> Reviewed-by: Venky Shankar <[email protected]>
2 parents d05fa0b + 7632871 commit e90f0e9

File tree

1 file changed

+17
-25
lines changed

1 file changed

+17
-25
lines changed

src/mds/MDLog.cc

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -681,17 +681,15 @@ void MDLog::trim(int m)
681681

682682
if (pending_events.count(ls->seq) ||
683683
ls->end > safe_pos) {
684-
dout(5) << "trim segment " << ls->seq << "/" << ls->offset << ", not fully flushed yet, safe "
684+
dout(5) << "trim " << *ls << " is not fully flushed yet: safe "
685685
<< journaler->get_write_safe_pos() << " < end " << ls->end << dendl;
686686
break;
687687
}
688688

689689
if (expiring_segments.count(ls)) {
690-
dout(5) << "trim already expiring segment " << ls->seq << "/" << ls->offset
691-
<< ", " << ls->num_events << " events" << dendl;
690+
dout(5) << "trim already expiring " << *ls << dendl;
692691
} else if (expired_segments.count(ls)) {
693-
dout(5) << "trim already expired segment " << ls->seq << "/" << ls->offset
694-
<< ", " << ls->num_events << " events" << dendl;
692+
dout(5) << "trim already expired " << *ls << dendl;
695693
} else {
696694
ceph_assert(expiring_segments.count(ls) == 0);
697695
new_expiring_segments++;
@@ -755,17 +753,15 @@ int MDLog::trim_all()
755753

756754
// Caller should have flushed journaler before calling this
757755
if (pending_events.count(ls->seq)) {
758-
dout(5) << __func__ << ": segment " << ls->seq << " has pending events" << dendl;
756+
dout(5) << __func__ << ": " << *ls << " has pending events" << dendl;
759757
submit_mutex.unlock();
760758
return -CEPHFS_EAGAIN;
761759
}
762760

763761
if (expiring_segments.count(ls)) {
764-
dout(5) << "trim already expiring segment " << ls->seq << "/" << ls->offset
765-
<< ", " << ls->num_events << " events" << dendl;
762+
dout(5) << "trim already expiring " << *ls << dendl;
766763
} else if (expired_segments.count(ls)) {
767-
dout(5) << "trim already expired segment " << ls->seq << "/" << ls->offset
768-
<< ", " << ls->num_events << " events" << dendl;
764+
dout(5) << "trim already expired " << *ls << dendl;
769765
} else {
770766
ceph_assert(expiring_segments.count(ls) == 0);
771767
expiring_segments.insert(ls);
@@ -792,11 +788,11 @@ void MDLog::try_expire(LogSegment *ls, int op_prio)
792788
ls->try_to_expire(mds, gather_bld, op_prio);
793789

794790
if (gather_bld.has_subs()) {
795-
dout(5) << "try_expire expiring segment " << ls->seq << "/" << ls->offset << dendl;
791+
dout(5) << "try_expire expiring " << *ls << dendl;
796792
gather_bld.set_finisher(new C_MaybeExpiredSegment(this, ls, op_prio));
797793
gather_bld.activate();
798794
} else {
799-
dout(10) << "try_expire expired segment " << ls->seq << "/" << ls->offset << dendl;
795+
dout(10) << "try_expire expired " << *ls << dendl;
800796
submit_mutex.lock();
801797
ceph_assert(expiring_segments.count(ls));
802798
expiring_segments.erase(ls);
@@ -816,8 +812,7 @@ void MDLog::_maybe_expired(LogSegment *ls, int op_prio)
816812
return;
817813
}
818814

819-
dout(10) << "_maybe_expired segment " << ls->seq << "/" << ls->offset
820-
<< ", " << ls->num_events << " events" << dendl;
815+
dout(10) << "_maybe_expired " << *ls << dendl;
821816
try_expire(ls, op_prio);
822817
}
823818

@@ -832,10 +827,10 @@ void MDLog::_trim_expired_segments()
832827
uint64_t end = 0;
833828
for (auto it = segments.begin(); it != segments.end(); ++it) {
834829
auto& [seq, ls] = *it;
835-
dout(20) << __func__ << ": examining seq=" << seq << " ls=" << *ls << dendl;
830+
dout(20) << __func__ << ": examining " << *ls << dendl;
836831

837832
if (auto msit = major_segments.find(seq); msit != major_segments.end() && end > 0) {
838-
dout(10) << __func__ << ": expiring up to this major segment " << seq << dendl;
833+
dout(10) << __func__ << ": expiring up to this major segment seq=" << seq << dendl;
839834
uint64_t expire_pos = 0;
840835
for (auto& [seq2, ls2] : segments) {
841836
if (seq <= seq2) {
@@ -898,12 +893,10 @@ void MDLog::_expired(LogSegment *ls)
898893
{
899894
ceph_assert(ceph_mutex_is_locked_by_me(submit_mutex));
900895

901-
dout(5) << "_expired segment " << ls->seq << "/" << ls->offset
902-
<< ", " << ls->num_events << " events" << dendl;
896+
dout(5) << "_expired " << *ls << dendl;
903897

904898
if (!mds_is_shutting_down && ls == peek_current_segment()) {
905-
dout(5) << "_expired not expiring " << ls->seq << "/" << ls->offset
906-
<< ", last one and !mds_is_shutting_down" << dendl;
899+
dout(5) << "_expired not expiring current segment, and !mds_is_shutting_down" << dendl;
907900
} else {
908901
// expired.
909902
expired_segments.insert(ls);
@@ -1514,11 +1507,10 @@ void MDLog::standby_trim_segments()
15141507

15151508
bool removed_segment = false;
15161509
while (have_any_segments()) {
1517-
LogSegment *seg = get_oldest_segment();
1518-
dout(10) << " segment seq=" << seg->seq << " " << seg->offset <<
1519-
"~" << seg->end - seg->offset << dendl;
1510+
LogSegment *ls = get_oldest_segment();
1511+
dout(10) << " maybe trim " << *ls << dendl;
15201512

1521-
if (seg->end > expire_pos) {
1513+
if (ls->end > expire_pos) {
15221514
dout(10) << " won't remove, not expired!" << dendl;
15231515
break;
15241516
}
@@ -1529,7 +1521,7 @@ void MDLog::standby_trim_segments()
15291521
}
15301522

15311523
dout(10) << " removing segment" << dendl;
1532-
mds->mdcache->standby_trim_segment(seg);
1524+
mds->mdcache->standby_trim_segment(ls);
15331525
remove_oldest_segment();
15341526
if (pre_segments_size > 0) {
15351527
--pre_segments_size;

0 commit comments

Comments
 (0)