From: Radoslaw Zarzynski Date: Tue, 6 Dec 2022 14:01:44 +0000 (+0000) Subject: crimson/osd: snap trimming informs OpsExecuter about altered objects X-Git-Tag: v18.1.0~260^2~19 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=9245c7650dd20177e303f0d910de376032a067b5;p=ceph.git crimson/osd: snap trimming informs OpsExecuter about altered objects Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index 14fd5a9c2d310..b6b976ab02486 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -42,6 +42,8 @@ class PG; // OpsExecuter -- a class for executing ops targeting a certain object. class OpsExecuter : public seastar::enable_lw_shared_from_this { + friend class SnapTrimObjSubEvent; + using call_errorator = crimson::errorator< crimson::stateful_ec, crimson::ct_error::enoent, diff --git a/src/crimson/osd/osd_operations/snaptrim_event.cc b/src/crimson/osd/osd_operations/snaptrim_event.cc index dd089b8747cdb..933ad6dcc5a61 100644 --- a/src/crimson/osd/osd_operations/snaptrim_event.cc +++ b/src/crimson/osd/osd_operations/snaptrim_event.cc @@ -4,6 +4,7 @@ #include #include "crimson/osd/osd_operations/snaptrim_event.h" +#include "crimson/osd/ops_executer.h" #include "crimson/osd/pg.h" #include "include/expected.hpp" @@ -297,6 +298,8 @@ SnapTrimObjSubEvent::remove_or_update( coi = object_info_t(coid); + auto smtxn = pg->osdriver.get_transaction(&txn); + OpsExecuter::snap_map_remove(coid, pg->snap_mapper, smtxn); } else { // save adjusted snaps for this object logger().info("{}: {} snaps {} -> {}", @@ -326,6 +329,8 @@ SnapTrimObjSubEvent::remove_or_update( coi.mtime, 0} ); + auto smtxn = pg->osdriver.get_transaction(&txn); + OpsExecuter::snap_map_modify(coid, new_snaps, pg->snap_mapper, smtxn); } osd_op_p.at_version = pg->next_version();