]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
objecter: split objecter initialization
authorYehuda Sadeh <yehuda@inktank.com>
Wed, 4 Jun 2014 18:46:50 +0000 (11:46 -0700)
committerJohn Spray <john.spray@redhat.com>
Mon, 25 Aug 2014 00:34:00 +0000 (01:34 +0100)
commit9b811a33d51b6bdeaea4285411f5fafbaad72a22
tree44d3eb8244ecf17136a5227e59529254e0cc5976
parentb44059706772e3859727cc5fe2b7fad6c4dc09f2
objecter: split objecter initialization

Separate objecter initialization to non cluster related work (e.g.,
internal data structures, other registrations), and to operations that
can initiate cluster interaction. This is so that we don't hit a rare
race where we can get called indirectly from one of the dispatcher callbacks
e.g., into handle_osd_map() when not yet being initialized.
This requires that objecter->init() should be called before
messenger->add_dispatcher_head(), and objecter->start() after it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
src/client/Client.cc
src/librados/RadosClient.cc
src/mds/MDS.cc
src/osd/OSD.cc
src/osdc/Objecter.cc
src/osdc/Objecter.h
src/test/mon/test_mon_workloadgen.cc