summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-16 23:33:06 -0700
committerSage Weil <sage@inktank.com>2013-08-30 16:54:32 -0700
commitbc99437ef66982f99593660ae3c4606b488a59d2 (patch)
tree65b98aa582332b14337c8075cb8f7abceaf53118
parent34709447e1b11880f028ed132d49971fbe8ab4e7 (diff)
downloadceph-bc99437ef66982f99593660ae3c4606b488a59d2.tar.gz
osd: feed OSDMaps to the Objecter
Feed every map message we see (that isn't discarded for some other reason) to the Objecter. It has the same continuity requirements that the OSD has, so it should be satisfied with what we get. It can also request maps via our MonClient. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/OSD.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index a29b4e3efd6..cff0c8d6a52 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -5034,6 +5034,13 @@ void OSD::handle_osd_map(MOSDMap *m)
if (session)
session->put();
+ // share with the objecter
+ {
+ Mutex::Locker l(service.objecter_lock);
+ m->get();
+ service.objecter->handle_osd_map(m);
+ }
+
epoch_t first = m->get_first();
epoch_t last = m->get_last();
dout(3) << "handle_osd_map epochs [" << first << "," << last << "], i have "