]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: fill in empty item in peer_missing for strays
authorSage Weil <sage@newdream.net>
Thu, 12 Jan 2012 23:09:18 +0000 (15:09 -0800)
committerSage Weil <sage@newdream.net>
Thu, 12 Jan 2012 23:09:18 +0000 (15:09 -0800)
If we search_for_missing() on a host, make a corresponding entry in our
peer_missing map (if it isn't already there).  This ensure we get (empty)
entries for strays, which makes all_unfound_are_queried_or_lost() happy.

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/PG.cc

index ff735ce1d09a1a369cdd9ca13bc7de951da4ab07..6681ab4174d96f4336080c8e6fd317a7bad4445b 100644 (file)
@@ -502,6 +502,10 @@ bool PG::search_for_missing(const Info &oinfo, const Missing *omissing,
   bool stats_updated = false;
   bool found_missing = false;
 
+  // take note that we've probed this peer, for
+  // all_unfound_are_queried_or_lost()'s benefit.
+  peer_missing[fromosd];
+
   // found items?
   for (map<hobject_t,Missing::item>::iterator p = missing.missing.begin();
        p != missing.missing.end();