]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/replicated_backend: make sure the check on whether to send 60803/head
authorXuehan Xu <xuxuehan@qianxin.com>
Fri, 22 Nov 2024 08:38:02 +0000 (16:38 +0800)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 5 Jan 2025 16:22:12 +0000 (16:22 +0000)
ops to replica osds and the pg log append happens in the same
continuation

Since backfill relies on the pg log to discover new modifications, we
need to make sure backfill always discover the modification that's not
sent to replica osds.

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/osd/replicated_backend.cc

index f25409b5c7be7800fa56f6998b30278ff4393ab4..6c8abecffafd091370a42b63def57e56abd5f929 100644 (file)
@@ -104,6 +104,8 @@ ReplicatedBackend::submit_transaction(
     }
   }
 
+  co_await pg.update_snap_map(log_entries, txn);
+
   std::vector<pg_shard_t> to_push_clone;
   std::vector<pg_shard_t> to_push_delete;
   auto sends = std::make_unique<std::vector<seastar::future<>>>();
@@ -140,8 +142,6 @@ ReplicatedBackend::submit_transaction(
        pg_shard.osd, std::move(m), map_epoch));
   }
 
-  co_await pg.update_snap_map(log_entries, txn);
-
   pg.log_operation(
     std::move(log_entries),
     osd_op_p.pg_trim_to,