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-26 16:17:11 -0700
commit975de4e901d9830b458d043e68a44d9d1275fbc0 (patch)
tree04ebbe2a8fc44c6b90450e96e05c38043d9901dc
parentd49d00053bda39622a741a4d71b7f00f1e3895e8 (diff)
downloadceph-975de4e901d9830b458d043e68a44d9d1275fbc0.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 d5823666ffb..fea184760e4 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -5030,6 +5030,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 "