From: Samuel Just Date: Thu, 17 Sep 2020 22:28:06 +0000 (-0700) Subject: crimson/os/seastore/journal: fix get_journal_seq X-Git-Tag: v16.1.0~807^2~13 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=41df0a17b42a91d34648146c7eebc1a9b2e4f192;p=ceph.git crimson/os/seastore/journal: fix get_journal_seq current_journal_segment_seq was misleading -- it's actually the value for the next one. Fix naming and update get_journal_seq. Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/journal.cc b/src/crimson/os/seastore/journal.cc index ac910e58ad23..95aad57d67fe 100644 --- a/src/crimson/os/seastore/journal.cc +++ b/src/crimson/os/seastore/journal.cc @@ -47,7 +47,7 @@ Journal::initialize_segment(Segment &segment) // write out header ceph_assert(segment.get_write_ptr() == 0); bufferlist bl; - segment_seq_t seq = current_journal_segment_seq++; + segment_seq_t seq = next_journal_segment_seq++; auto header = segment_header_t{ seq, segment.get_segment_id(), @@ -250,7 +250,7 @@ Journal::find_replay_segments_fut Journal::find_replay_segments() rt.second.journal_segment_seq; }); - current_journal_segment_seq = + next_journal_segment_seq = segments.rbegin()->second.journal_segment_seq + 1; std::for_each( segments.begin(), diff --git a/src/crimson/os/seastore/journal.h b/src/crimson/os/seastore/journal.h index 4dcb1ca6eebc..805d1f408bc7 100644 --- a/src/crimson/os/seastore/journal.h +++ b/src/crimson/os/seastore/journal.h @@ -220,15 +220,13 @@ private: JournalSegmentProvider *segment_provider = nullptr; SegmentManager &segment_manager; - segment_seq_t current_journal_segment_seq = 0; + segment_seq_t next_journal_segment_seq = 0; SegmentRef current_journal_segment; segment_off_t written_to = 0; - segment_id_t next_journal_segment_seq = NULL_SEG_ID; - journal_seq_t get_journal_seq(paddr_t addr) { - return journal_seq_t{current_journal_segment_seq, addr}; + return journal_seq_t{next_journal_segment_seq-1, addr}; } /// prepare segment for writes, writes out segment header