osd: check that source OSD is valid for MOSDRepScrub
Make sure the message we got from the peer OSD is valid. Specifically,
this avoids a race like this:
- A marks down B
- B sends MOSDRepScrub
- A accepts connection from B as new
- A replies to scrub
- B crashes because msgr seq 1 < expected seq 1000+
See #8880 for the most recent fix for requests.
Fixes: #9555
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit
847e5e102522d651aa9687a54aaafcebf3afc596)
Conflicts:
src/osd/OSD.cc: require functions first argument is now a reference