]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd/replicated_recovery_backend: assert that the object to be pulled has... 56892/head
authorXuehan Xu <xxhdx1985126@gmail.com>
Mon, 15 Apr 2024 13:58:02 +0000 (21:58 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Mon, 22 Apr 2024 03:25:15 +0000 (11:25 +0800)
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
src/crimson/osd/replicated_recovery_backend.cc

index 0ddcba5a31d0fc0e1adbf4cc6e9059858bf9bfc3..ef1293b836c817b3e3ed77b1b1d0251fab24384f 100644 (file)
@@ -429,8 +429,12 @@ void ReplicatedRecoveryBackend::prepare_pull(
 
   pg_missing_tracker_t local_missing = pg.get_local_missing();
   const auto missing_iter = local_missing.get_items().find(soid);
-  auto m = pg.get_missing_loc_shards();
-  pg_shard_t fromshard = *(m[soid].begin());
+  auto &m = pg.get_missing_loc_shards();
+  assert(m.contains(soid));
+  auto &locs = m.at(soid);
+  auto iter = locs.begin();
+  assert(iter != locs.end());
+  pg_shard_t fromshard = *(iter);
 
   pull_op.recovery_info =
     set_recovery_info(soid, head_obc->ssc);