Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
osd/PG: restrict want_acting to up+acting on recovery completion
On recovery completion we recalculate want_acting to see if we should add recently backfilled osds into acting. However, at this point we may have gotten infos from others OSDs outside of up/acting that could be used for want_acting. We currently assert that only up/acting osds are used in PG::RecoveryState::Active::react(const AdvMap&), so we must restrict want_acting to up/acting here. We could remove this restriction, but it would mean 1) checking on every map change that want_acting hasn't been invalidated, and if so, recalculating want_acting and requesting a new pg_temp. Also, presumably 2) on each new info, checking whether we can construct a better want_acting, and if so, doing it. That would be a good thing, but is a more complicated change. In reality this case comes up very rarely, so simply make our post-recovery want_acting calculation limit itself to up+acting. See 1db67c4 for the assertion. Signed-off-by: Sage Weil <sage@redhat.com> (cherry picked from commit 0f2dee9)
- Loading branch information
Showing
2 changed files
with
48 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters