return pg;
}
-PG *OSD::get_pg_or_queue_for_pg(spg_t pgid, OpRequestRef op)
+PG *OSD::get_pg_or_queue_for_pg(const spg_t& pgid, OpRequestRef& op)
{
RWLock::RLocker l(pg_map_lock);
Session *session = static_cast<Session*>(
}
}
-bool OSD::dispatch_op_fast(OpRequestRef op, OSDMapRef osdmap) {
+bool OSD::dispatch_op_fast(OpRequestRef& op, OSDMapRef& osdmap) {
if (is_stopping()) {
// we're shutting down, so drop the op
return true;
}
};
-void OSD::handle_op(OpRequestRef op, OSDMapRef osdmap)
+void OSD::handle_op(OpRequestRef& op, OSDMapRef& osdmap)
{
MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
assert(m->get_header().type == CEPH_MSG_OSD_OP);
}
template<typename T, int MSGTYPE>
-void OSD::handle_replica_op(OpRequestRef op, OSDMapRef osdmap)
+void OSD::handle_replica_op(OpRequestRef& op, OSDMapRef& osdmap)
{
T *m = static_cast<T *>(op->get_req());
assert(m->get_header().type == MSGTYPE);
return false;
}
-void OSD::enqueue_op(PG *pg, OpRequestRef op)
+void OSD::enqueue_op(PG *pg, OpRequestRef& op)
{
utime_t latency = ceph_clock_now(cct) - op->get_req()->get_recv_stamp();
dout(15) << "enqueue_op " << op << " prio " << op->get_req()->get_priority()
// --------------------------------
-int OSD::init_op_flags(OpRequestRef op)
+int OSD::init_op_flags(OpRequestRef& op)
{
MOSDOp *m = static_cast<MOSDOp*>(op->get_req());
vector<OSDOp>::iterator iter;
void tick();
void _dispatch(Message *m);
void dispatch_op(OpRequestRef op);
- bool dispatch_op_fast(OpRequestRef op, OSDMapRef osdmap);
+ bool dispatch_op_fast(OpRequestRef& op, OSDMapRef& osdmap);
void check_osdmap_features(ObjectStore *store);
} op_shardedwq;
- void enqueue_op(PG *pg, OpRequestRef op);
+ void enqueue_op(PG *pg, OpRequestRef& op);
void dequeue_op(
PGRef pg, OpRequestRef op,
ThreadPool::TPHandle &handle);
PGPool _get_pool(int id, OSDMapRef createmap);
- PG *get_pg_or_queue_for_pg(spg_t pgid, OpRequestRef op);
+ PG *get_pg_or_queue_for_pg(const spg_t& pgid, OpRequestRef& op);
bool _have_pg(spg_t pgid);
PG *_lookup_lock_pg_with_map_lock_held(spg_t pgid);
PG *_lookup_lock_pg(spg_t pgid);
void handle_rep_scrub(MOSDRepScrub *m);
void handle_scrub(struct MOSDScrub *m);
void handle_osd_ping(class MOSDPing *m);
- void handle_op(OpRequestRef op, OSDMapRef osdmap);
+ void handle_op(OpRequestRef& op, OSDMapRef& osdmap);
template <typename T, int MSGTYPE>
- void handle_replica_op(OpRequestRef op, OSDMapRef osdmap);
+ void handle_replica_op(OpRequestRef& op, OSDMapRef& osdmap);
/// check if we can throw out op from a disconnected client
static bool op_is_discardable(class MOSDOp *m);
public:
void force_remount();
- int init_op_flags(OpRequestRef op);
+ int init_op_flags(OpRequestRef& op);
OSDService service;
friend class OSDService;