]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
fixup: crimson/osd: translate for os::Transaction into ECTransaction
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Wed, 21 May 2025 13:35:34 +0000 (13:35 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 27 Jan 2026 19:42:59 +0000 (19:42 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/ec_backend.cc

index 26615ac387f96efa3b2e37a8f98f86707603e506..144c481fb73774501095625cbbad44e05c92d64b 100644 (file)
@@ -238,13 +238,13 @@ struct ECCrimsonOp : ECCommon::RMWPipeline::Op {
   }
 
   void generate_transactions(
-      ceph::ErasureCodeInterfaceRef &ecimpl,
+      ceph::ErasureCodeInterfaceRef &ec_impl,
       pg_t pgid,
       const ECUtil::stripe_info_t &sinfo,
-      std::map<hobject_t,extent_map> *written,
-      std::map<shard_id_t, ObjectStore::Transaction> *transactions,
+      std::map<hobject_t, ECUtil::shard_extent_map_t> *written,
+      shard_id_map<ceph::os::Transaction> *transactions,
       DoutPrefixProvider *dpp,
-      const ceph_release_t require_osd_release) final
+      const OSDMapRef &osdmap) final
   {
     assert(t);
 #if 1
@@ -264,6 +264,17 @@ struct ECCrimsonOp : ECCommon::RMWPipeline::Op {
       require_osd_release);
 #endif
   }
+
+  bool skip_transaction(
+      std::set<shard_id_t> &pending_roll_forward,
+      shard_id_t shard,
+      ceph::os::Transaction &transaction) final {
+    if (transaction.empty()) {
+      return true;
+    }
+    pending_roll_forward.insert(shard);
+    return false;
+  }
 };
 
 class C_AllSubWritesCommited : public Context {