]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: check that source OSD is valid for MOSDRepScrub 3173/head
authorSage Weil <sage@redhat.com>
Sat, 13 Dec 2014 16:06:31 +0000 (08:06 -0800)
committerSage Weil <sage@redhat.com>
Sat, 13 Dec 2014 16:06:31 +0000 (08:06 -0800)
commit847e5e102522d651aa9687a54aaafcebf3afc596
tree0479dda0d198980c7a3ef4608976819ef468e783
parent707a111d53efb09b3471dd3788b86d2bfee4e96f
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>
src/osd/OSD.cc