From 66620ccb32be9ba1b66e0b9371f1d139519a8a29 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Sat, 17 Aug 2024 18:43:31 +0800 Subject: [PATCH] crimson/osd/pg: add PGLogEntryHandler::remove() Fixes: https://tracker.ceph.com/issues/67564 Signed-off-by: Xuehan Xu --- src/crimson/osd/pg.cc | 9 +++++++++ src/crimson/osd/pg.h | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/crimson/osd/pg.cc b/src/crimson/osd/pg.cc index 2c73a08bb1c4f..f665f08df0e03 100644 --- a/src/crimson/osd/pg.cc +++ b/src/crimson/osd/pg.cc @@ -27,6 +27,7 @@ #include "os/Transaction.h" #include "crimson/common/exception.h" +#include "crimson/common/log.h" #include "crimson/net/Connection.h" #include "crimson/net/Messenger.h" #include "crimson/os/cyanstore/cyan_store.h" @@ -48,6 +49,8 @@ using std::set; using std::string; using std::vector; +SET_SUBSYS(osd); + namespace { seastar::logger& logger() { return crimson::get_logger(ceph_subsys_osd); @@ -1787,4 +1790,10 @@ void PG::remove_maybe_snapmapped_object( } } } + +void PG::PGLogEntryHandler::remove(const hobject_t &soid) { + LOG_PREFIX(PG::PGLogEntryHandler::remove); + DEBUGDPP("remove {} on pglog rollback", *pg, soid); + pg->remove_maybe_snapmapped_object(*t, soid); +} } diff --git a/src/crimson/osd/pg.h b/src/crimson/osd/pg.h index 2fcb728353790..61c676b3ff70f 100644 --- a/src/crimson/osd/pg.h +++ b/src/crimson/osd/pg.h @@ -442,7 +442,7 @@ public: PGLogEntryHandler(PG *pg, ceph::os::Transaction *t) : pg(pg), t(t) {} // LogEntryHandler - void remove(const hobject_t &soid) override {} + void remove(const hobject_t &soid) override; void try_stash(const hobject_t &hoid, version_t v) override { // TODO } -- 2.39.5