objecter->handle_osd_map((MOSDMap*)m);
cond.Signal();
break;
+ case MSG_GETPOOLSTATSREPLY:
+ objecter->handle_get_pool_stats_reply((MGetPoolStatsReply*)m);
+ break;
+
case CEPH_MSG_MDS_MAP:
break;
PoolStatOp *op = new PoolStatOp;
op->tid = ++last_tid;
op->pools = pools;
+ op->pool_stats = result;
op->onfinish = onfinish;
op_poolstat[op->tid] = op;
if (op_poolstat.count(tid)) {
PoolStatOp *op = op_poolstat[tid];
+ dout(10) << "have request " << tid << " at " << op << dendl;
*op->pool_stats = m->pool_stats;
op->onfinish->finish(0);
delete op->onfinish;
} else {
dout(10) << "unknown request " << tid << dendl;
}
+ dout(10) << "done" << dendl;
delete m;
}
// pool stats
private:
void poolstat_submit(PoolStatOp *op);
- void handle_get_pool_stats_reply(MGetPoolStatsReply *m);
public:
+ void handle_get_pool_stats_reply(MGetPoolStatsReply *m);
void get_pool_stats(vector<string>& pools, map<string,pool_stat_t> *result,
Context *onfinish);