From: Greg Farnum Date: Tue, 29 Nov 2011 21:30:45 +0000 (-0800) Subject: Objecter: fix local reads in recalc_op_target X-Git-Tag: v0.40~241^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ebb585d9c0f2b6bc00f8789b6aa18c00d93d920a;p=ceph.git Objecter: fix local reads in recalc_op_target We want to use the actual OSD, not the index into the array! Signed-off-by: Greg Farnum --- diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index e6e130226d09..ed989f1384f1 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -966,7 +966,7 @@ int Objecter::recalc_op_target(Op *op) // look for a local replica unsigned i; for (i = acting.size()-1; i > 0; i++) - if (osdmap->get_addr(i).is_same_host(messenger->get_myaddr())) { + if (osdmap->get_addr(acting[i]).is_same_host(messenger->get_myaddr())) { op->used_replica = true; ldout(cct, 10) << " chose local osd." << acting[i] << " of " << acting << dendl; break;