]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.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, 24 Mar 2026 16:06:24 +0000 (16:06 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/ec_backend.cc

index 833c62411809942aa533b8caa310058a13b9c813..d7e2a389166b63890dd92065769a91cc04268d3b 100644 (file)
@@ -239,13 +239,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
@@ -265,6 +265,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 {