From: Samuel Just Date: Tue, 26 Mar 2013 20:09:00 +0000 (-0700) Subject: PG::_select_auth_object: prefer a peer which did not hit a read error X-Git-Tag: v0.62~113^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=83dbfaea7d4f4ed68447817eb005c7f2a78e9eae;p=ceph.git PG::_select_auth_object: prefer a peer which did not hit a read error Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 85edc07f4fa1..c598255e2bef 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -4258,6 +4258,14 @@ map::const_iterator PG::_select_auth_object( << dendl; continue; } + if (i->second.read_error) { + // scrub encountered read error, probably corrupt + dout(10) << __func__ << ": rejecting osd " << j->first + << " for obj " << obj + << ", read_error" + << dendl; + continue; + } map::iterator k = i->second.attrs.find(OI_ATTR); if (k == i->second.attrs.end()) { // no object info on object, probably corrupt