void Objecter::init()
{
assert(client_lock.is_locked());
+ assert(!initialized);
if (!logger) {
PerfCountersBuilder pcb(cct, "objecter", l_osdc_first, l_osdc_last);
schedule_tick();
maybe_request_map();
+
+ initialized = true;
}
void Objecter::shutdown()
{
+ assert(client_lock.is_locked());
+ assert(initialized);
+ initialized = false;
+
map<int,OSDSession*>::iterator p;
while (!osd_sessions.empty()) {
p = osd_sessions.begin();
void Objecter::handle_osd_map(MOSDMap *m)
{
assert(client_lock.is_locked());
+ assert(initialized);
assert(osdmap);
if (m->fsid != monc->get_fsid()) {
{
ldout(cct, 10) << "tick" << dendl;
assert(client_lock.is_locked());
+ assert(initialized);
// we are only called by C_Tick
assert(tick_event);
tid_t Objecter::op_submit(Op *op, OSDSession *s)
{
assert(client_lock.is_locked());
+ assert(initialized);
assert(op->ops.size() == op->out_bl.size());
assert(op->ops.size() == op->out_rval.size());
void Objecter::handle_osd_op_reply(MOSDOpReply *m)
{
assert(client_lock.is_locked());
+ assert(initialized);
ldout(cct, 10) << "in handle_osd_op_reply" << dendl;
// get pio
void Objecter::handle_pool_op_reply(MPoolOpReply *m)
{
assert(client_lock.is_locked());
+ assert(initialized);
ldout(cct, 10) << "handle_pool_op_reply " << *m << dendl;
tid_t tid = m->get_tid();
if (pool_ops.count(tid)) {
void Objecter::handle_get_pool_stats_reply(MGetPoolStatsReply *m)
{
assert(client_lock.is_locked());
+ assert(initialized);
ldout(cct, 10) << "handle_get_pool_stats_reply " << *m << dendl;
tid_t tid = m->get_tid();
void Objecter::handle_fs_stats_reply(MStatfsReply *m)
{
assert(client_lock.is_locked());
+ assert(initialized);
ldout(cct, 10) << "handle_fs_stats_reply " << *m << dendl;
tid_t tid = m->get_tid();
OSDMap *osdmap;
CephContext *cct;
+ bool initialized;
private:
tid_t last_tid;
Objecter(CephContext *cct_, Messenger *m, MonClient *mc,
OSDMap *om, Mutex& l, SafeTimer& t) :
messenger(m), monc(mc), osdmap(om), cct(cct_),
+ initialized(false),
last_tid(0), client_inc(-1), max_linger_id(0),
num_unacked(0), num_uncommitted(0),
global_op_flags(0),