]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/OSD: fix track_pools_and_pg_num_changes on mapgaps
authorMatan Breizman <mbreizma@redhat.com>
Thu, 21 Dec 2023 10:25:46 +0000 (10:25 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 31 Mar 2024 12:08:36 +0000 (12:08 +0000)
commit791614e6eb09edc696e3843386a5ecd9fa91137b
tree0809d1d347e2fed6a6241a984d69f19bdbf22757
parent5f552357af236dc4dc65c0ca7bd2c7a30683874a
osd/OSD: fix track_pools_and_pg_num_changes on mapgaps

* track_pools_and_pg_num_changes call is moved before the superblock updates to
  know if we have any OSDMaps *before* trimming them (if possible).
  This is used to identify map gaps.

* track_pools_and_pg_num_changes inner loop is moved into
  _track_pools_and_pg_num_changes.

* lastmap now starts with the newest_map we have, even on mapgap.
  Previously, on mapgaps, we would (falsly) assume that this is the first start
  of this OSD and would ignore the state before the gap. This case
  is fully described in the tracker below:

Fixes: https://tracker.ceph.com/issues/63881
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h