osd: drop redundant check in handle_replica_op

This is what require_self_aliveness checks.

Signed-off-by: Sage Weil <sage@redhat.com>
osd: pass Message* to most require_* helpers

These do nothing but op->get_req(); pass the Message* explicitly so that
non-OpRequest callers can use them.

Signed-off-by: Sage Weil <sage@redhat.com>
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>
Merge pull request #3173 from ceph/wip-9555

osd: fix msgr reconnect crash from MOSDRepScrub messages (bug 9555)

Reviewed-by: Greg Farnum <gfarnum@redhat.com>