]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/pg: add PGLogEntryHandler::remove() 59227/head
authorXuehan Xu <xuxuehan@qianxin.com>
Sat, 17 Aug 2024 10:43:31 +0000 (18:43 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Tue, 20 Aug 2024 07:21:58 +0000 (15:21 +0800)
Fixes: https://tracker.ceph.com/issues/67564
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/osd/pg.cc
src/crimson/osd/pg.h

index 2c73a08bb1c4f78fe64df67d2f58fcc29796edcb..f665f08df0e03b2c94465bc560bb6feff8d6baf8 100644 (file)
@@ -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);
+}
 }
index 2fcb7283537902933890ccf3072bb1677b5e3929..61c676b3ff70f2e80a12ea0d54315e933e4f331e 100644 (file)
@@ -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
     }