]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
ReplicatedPG: call finish_recovery when needed
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 18 Nov 2010 20:37:49 +0000 (12:37 -0800)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 18 Nov 2010 20:50:23 +0000 (12:50 -0800)
commit43e0b2670b24186c055ace94b1743a2017073a7c
treef9b9e840e2c7b4d75c870050730f33557cc283e7
parentea5d1d6693eff3bc8e88ee9e74fc516d880af73c
ReplicatedPG: call finish_recovery when needed

Don't loop in ReplicatedPG::start_recovery_ops. There is already a loop
in both recover_replicas and recover_primary that will try to do as many
recovery ops as it can, there's no need to repeat it. Also, the former
loop provably would never execute more than once because of the way
the code was structured.

If there are no more recovery operations to do, and PG::is_all_uptodate
is true at the end of ReplicatedPG::start_recovery_ops, call
finish_recovery.

Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
src/osd/ReplicatedPG.cc