]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
Objecter: fix local reads in recalc_op_target
authorGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 29 Nov 2011 21:30:45 +0000 (13:30 -0800)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Tue, 29 Nov 2011 21:30:45 +0000 (13:30 -0800)
We want to use the actual OSD, not the index into the array!

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/osdc/Objecter.cc

index e6e130226d09b1302e3621ae35a5d874c4ac82c9..ed989f1384f184ebea92ff05902e493e56dbb339 100644 (file)
@@ -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;