From: Matan Breizman Date: Sun, 19 Jan 2025 10:04:55 +0000 (+0000) Subject: osd: Remove Snapset::snaps users (2/2) X-Git-Tag: testing/wip-vshankar-testing-20250407.170244-debug~24^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=c0b16c43220c419cc9b35a8eadc8793daa68f16d;p=ceph-ci.git osd: Remove Snapset::snaps users (2/2) See: 591a1ae9f0c Signed-off-by: Matan Breizman --- diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index cbc35c21a04..c18af2170c6 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -912,7 +912,6 @@ pg_log_entry_t OpsExecuter::prepare_head_update( if (snapc.seq > obc->ssc->snapset.seq) { // update snapset with latest snap context obc->ssc->snapset.seq = snapc.seq; - obc->ssc->snapset.snaps.clear(); } pg_log_entry_t ret{ diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 44f8e85b5ef..cff0f6ad1ca 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -4895,15 +4895,6 @@ int PrimaryLogPG::trim_object( head_obc->obs.oi = object_info_t(head_oid); t->remove(head_oid); } else { - if (get_osdmap()->require_osd_release < ceph_release_t::octopus) { - // filter SnapSet::snaps for the benefit of pre-octopus - // peers. This is perhaps overly conservative in that I'm not - // certain they need this, but let's be conservative here. - dout(10) << coid << " filtering snapset on " << head_oid << dendl; - snapset.filter(pool.info); - } else { - snapset.snaps.clear(); - } dout(10) << coid << " writing updated snapset on " << head_oid << ", snapset is " << snapset << dendl; ctx->log.push_back( @@ -8765,11 +8756,6 @@ void PrimaryLogPG::make_writeable(OpContext *ctx) if (snapc.seq > ctx->new_snapset.seq) { // update snapset with latest snap context ctx->new_snapset.seq = snapc.seq; - if (get_osdmap()->require_osd_release < ceph_release_t::octopus) { - ctx->new_snapset.snaps = snapc.snaps; - } else { - ctx->new_snapset.snaps.clear(); - } } dout(20) << "make_writeable " << soid << " done, snapset=" << ctx->new_snapset << dendl; @@ -10194,11 +10180,6 @@ void PrimaryLogPG::finish_promote(int r, CopyResults *results, OpContextUPtr tctx = simple_opc_create(obc); tctx->at_version = get_next_version(); - if (get_osdmap()->require_osd_release < ceph_release_t::octopus) { - filter_snapc(tctx->new_snapset.snaps); - } else { - tctx->new_snapset.snaps.clear(); - } vector new_clones; map> new_clone_snaps; for (vector::iterator i = tctx->new_snapset.clones.begin(); @@ -10870,17 +10851,7 @@ int PrimaryLogPG::start_flush( << " " << (blocking ? "blocking" : "non-blocking/best-effort") << dendl; - bool preoctopus_compat = - get_osdmap()->require_osd_release < ceph_release_t::octopus; - SnapSet snapset; - if (preoctopus_compat) { - // for pre-octopus compatibility, filter SnapSet::snaps. not - // certain we need this, but let's be conservative. - snapset = obc->ssc->snapset.get_filtered(pool.info); - } else { - // NOTE: change this to a const ref when we remove this compat code - snapset = obc->ssc->snapset; - } + const SnapSet& snapset = obc->ssc->snapset; if ((obc->obs.oi.has_manifest() && obc->obs.oi.manifest.is_chunked()) || force_dedup) { @@ -10893,7 +10864,7 @@ int PrimaryLogPG::start_flush( // verify there are no (older) check for dirty clones { dout(20) << " snapset " << snapset << dendl; - vector::reverse_iterator p = snapset.clones.rbegin(); + vector::const_reverse_iterator p = snapset.clones.rbegin(); while (p != snapset.clones.rend() && *p >= soid.snap) ++p; if (p != snapset.clones.rend()) { @@ -11004,7 +10975,7 @@ int PrimaryLogPG::start_flush( } snapid_t prev_snapc = 0; - for (vector::reverse_iterator citer = snapset.clones.rbegin(); + for (vector::const_reverse_iterator citer = snapset.clones.rbegin(); citer != snapset.clones.rend(); ++citer) { if (*citer < soid.snap) { diff --git a/src/osd/osd_types_fmt.h b/src/osd/osd_types_fmt.h index 100ce6e4646..d142e95f1b0 100644 --- a/src/osd/osd_types_fmt.h +++ b/src/osd/osd_types_fmt.h @@ -253,9 +253,8 @@ struct formatter { } else { return fmt::format_to(ctx.out(), - "{}={}:{}", + "{}={}", snps.seq, - snps.snaps, snps.clone_snaps); } } diff --git a/src/test/osd/scrubber_generators.cc b/src/test/osd/scrubber_generators.cc index 19f64bb05ad..94e2ba46e9b 100644 --- a/src/test/osd/scrubber_generators.cc +++ b/src/test/osd/scrubber_generators.cc @@ -34,7 +34,7 @@ std::pair> create_object_snapset( encode(sns, bl); // extract the set of object snaps - return {bl, sns.snaps}; + return {bl, sns.clones}; } RealObjsConfList ScrubGenerator::make_real_objs_conf( diff --git a/src/test/osd/scrubber_generators.h b/src/test/osd/scrubber_generators.h index 43b123250cc..47f63e52401 100644 --- a/src/test/osd/scrubber_generators.h +++ b/src/test/osd/scrubber_generators.h @@ -133,7 +133,6 @@ struct SnapsetMockData { using clone_snaps_cooker = CookedCloneSnaps (*)(); snapid_t seq; - std::vector snaps; // descending std::vector clones; // ascending std::map> clone_overlap; // overlap w/ next @@ -143,13 +142,11 @@ struct SnapsetMockData { SnapsetMockData(snapid_t seq, - std::vector snaps, std::vector clones, std::map> clone_overlap, std::map clone_size, std::map> clone_snaps) : seq(seq) - , snaps(snaps) , clones(clones) , clone_overlap(clone_overlap) , clone_size(clone_size) @@ -157,11 +154,9 @@ struct SnapsetMockData { {} SnapsetMockData(snapid_t seq, - std::vector snaps, std::vector clones, clone_snaps_cooker func) : seq{seq} - , snaps{snaps} , clones(clones) { auto [clone_size_, clone_snaps_, clone_overlap_] = func(); @@ -174,7 +169,6 @@ struct SnapsetMockData { { SnapSet ss; ss.seq = seq; - ss.snaps = snaps; ss.clones = clones; ss.clone_overlap = clone_overlap; ss.clone_size = clone_size; @@ -257,10 +251,10 @@ struct fmt::formatter { { using namespace ScrubGenerator; return fmt::format_to(ctx.out(), - "RealObj(gh:{}, dt:{}, snaps:{})", + "RealObj(gh:{}, dt:{}, clones:{})", rlo.ghobj, rlo.data.size, - (rlo.snapset_mock_data ? rlo.snapset_mock_data->snaps + (rlo.snapset_mock_data ? rlo.snapset_mock_data->clones : std::vector{})); } }; diff --git a/src/test/osd/scrubber_test_datasets.cc b/src/test/osd/scrubber_test_datasets.cc index 478fd25fe95..51be0fb5085 100644 --- a/src/test/osd/scrubber_test_datasets.cc +++ b/src/test/osd/scrubber_test_datasets.cc @@ -56,7 +56,6 @@ SnapsetMockData::CookedCloneSnaps ms1_fn() } static SnapsetMockData hobj_ms1_snapset{/* seq */ 0x40, - /* snaps */ {0x30, 0x20}, /* clones */ {0x20, 0x30}, ms1_fn};