]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
OSDMap: add primary_temp to apply_incremental()
authorGreg Farnum <greg@inktank.com>
Thu, 19 Dec 2013 01:41:54 +0000 (17:41 -0800)
committerGreg Farnum <greg@inktank.com>
Thu, 16 Jan 2014 00:33:06 +0000 (16:33 -0800)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/osd/OSDMap.cc

index 8f2e8e4fe8337c5690c8e77df387ba088d686b08..58325a5755a3ab0f7e4688a9a4010898c79ceeb4 100644 (file)
@@ -1152,6 +1152,15 @@ int OSDMap::apply_incremental(const Incremental &inc)
       (*pg_temp)[p->first] = p->second;
   }
 
+  for (map<pg_t,int>::const_iterator p = inc.new_primary_temp.begin();
+      p != inc.new_primary_temp.end();
+      ++p) {
+    if (p->second == -1)
+      primary_temp->erase(p->first);
+    else
+      (*primary_temp)[p->first] = p->second;
+  }
+
   // blacklist
   for (map<entity_addr_t,utime_t>::const_iterator p = inc.new_blacklist.begin();
        p != inc.new_blacklist.end();