]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: don't stop recovery when there are unfound
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Tue, 16 Nov 2010 00:19:27 +0000 (16:19 -0800)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Tue, 16 Nov 2010 02:22:13 +0000 (18:22 -0800)
commitdfb78ebf3ea83618d72c7b38d9c07a535543cf8b
tree1962bf28a8ba7631363901211472d3b034892c8f
parentd014acb6d5c4a03f3d84ec1aee87c6890b003a95
osd: don't stop recovery when there are unfound

There are two phases in recovery: one where we get all the right objects
on to the primary, and another where we push all those objects out to
the replicas. Formerly, we would not start the second phase until there
were no missing objects at all on the primary.

This change modifies that so that we will start the second phase even if
there are unfound objects. However, we will still wait for all findable
missing objects to be brought to us, of course.

Get rid of uptodate_set. We can find the same information by looking at
the missing and missing_loc sets directly. Keeping the uptodate_set...
er... up-to-date would be very difficult in the presence of all the things
that can modify the missing and missing_loc sets.

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