From 5f2604807a50b5be74235cf8a853516f57e5e7c4 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Tue, 10 Sep 2024 11:51:32 +0000 Subject: [PATCH] crimson/osd/ops_executer: cleanup snap_map_* Since https://github.com/ceph/ceph/pull/58868, snap map updates are now maintained via PG::update_snap_map. Signed-off-by: Matan Breizman --- src/crimson/osd/ops_executer.cc | 52 --------------------------------- src/crimson/osd/ops_executer.h | 19 ------------ src/crimson/osd/pg.cc | 1 + 3 files changed, 1 insertion(+), 71 deletions(-) diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index 9985d867f39..df4f73d4077 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -844,58 +844,6 @@ std::vector OpsExecuter::prepare_transaction( return log_entries; } -OpsExecuter::interruptible_future<> OpsExecuter::snap_map_remove( - const hobject_t& soid, - SnapMapper& snap_mapper, - OSDriver& osdriver, - ceph::os::Transaction& txn) -{ - logger().debug("{}: soid {}", __func__, soid); - return interruptor::async([soid, &snap_mapper, - _t=osdriver.get_transaction(&txn)]() mutable { - const auto r = snap_mapper.remove_oid(soid, &_t); - if (r) { - logger().error("{}: remove_oid {} failed with {}", - __func__, soid, r); - } - // On removal tolerate missing key corruption - assert(r == 0 || r == -ENOENT); - }); -} - -OpsExecuter::interruptible_future<> OpsExecuter::snap_map_modify( - const hobject_t& soid, - const std::set& snaps, - SnapMapper& snap_mapper, - OSDriver& osdriver, - ceph::os::Transaction& txn) -{ - logger().debug("{}: soid {}, snaps {}", __func__, soid, snaps); - // TODO: avoid seastar::async https://tracker.ceph.com/issues/67704 - return interruptor::async([soid, snaps, &snap_mapper, - _t=osdriver.get_transaction(&txn)]() mutable { - assert(std::size(snaps) > 0); - [[maybe_unused]] const auto r = snap_mapper.update_snaps( - soid, snaps, 0, &_t); - assert(r == 0); - }); -} - -OpsExecuter::interruptible_future<> OpsExecuter::snap_map_clone( - const hobject_t& soid, - const std::set& snaps, - SnapMapper& snap_mapper, - OSDriver& osdriver, - ceph::os::Transaction& txn) -{ - logger().debug("{}: soid {}, snaps {}", __func__, soid, snaps); - return interruptor::async([soid, snaps, &snap_mapper, - _t=osdriver.get_transaction(&txn)]() mutable { - assert(std::size(snaps) > 0); - snap_mapper.add_oid(soid, snaps, &_t); - }); -} - // Defined here because there is a circular dependency between OpsExecuter and PG uint32_t OpsExecuter::get_pool_stripe_width() const { return pg->get_pgpool().info.get_stripe_width(); diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index 0448be407d8..e0e5e10e0a9 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -273,25 +273,6 @@ private: OSDriver& osdriver, ceph::os::Transaction& txn); -public: - static interruptible_future<> snap_map_remove( - const hobject_t& soid, - SnapMapper& snap_mapper, - OSDriver& osdriver, - ceph::os::Transaction& txn); - static interruptible_future<> snap_map_modify( - const hobject_t& soid, - const std::set& snaps, - SnapMapper& snap_mapper, - OSDriver& osdriver, - ceph::os::Transaction& txn); - static interruptible_future<> snap_map_clone( - const hobject_t& soid, - const std::set& snaps, - SnapMapper& snap_mapper, - OSDriver& osdriver, - ceph::os::Transaction& txn); - private: // this gizmo could be wrapped in std::optional for the sake of lazy // initialization. we don't need it for ops that doesn't have effect diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 47f58ac81ad..299274e54ea 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -1498,6 +1498,7 @@ PG::interruptible_future<> PG::update_snap_map( log_entries, [this, &t](const auto& entry) mutable { if (entry.soid.snap < CEPH_MAXSNAP) { + // TODO: avoid seastar::async https://tracker.ceph.com/issues/67704 return interruptor::async( [this, entry, _t=osdriver.get_transaction(&t)]() mutable { snap_mapper.update_snap_map(entry, &_t); -- 2.39.5