These all hook into the recovery thread pool and need to make that obvious.
Signed-off-by: Greg Farnum <greg@inktank.com>
}
if (op.in_progress.empty()) {
- get_parent()->schedule_work(
+ get_parent()->schedule_recovery_work(
get_parent()->bless_gencontext(
new FinishReadOp(this, op.tid)));
}
scrub_wq(osd->scrub_wq),
scrub_finalize_wq(osd->scrub_finalize_wq),
rep_scrub_wq(osd->rep_scrub_wq),
- gen_wq("gen_wq", cct->_conf->osd_recovery_thread_timeout, &osd->recovery_tp),
+ recovery_gen_wq("gen_wq", cct->_conf->osd_recovery_thread_timeout, &osd->recovery_tp),
class_handler(osd->class_handler),
publish_lock("OSDService::publish_lock"),
pre_publish_lock("OSDService::pre_publish_lock"),
ThreadPool::WorkQueue<PG> &scrub_wq;
ThreadPool::WorkQueue<PG> &scrub_finalize_wq;
ThreadPool::WorkQueue<MOSDRepScrub> &rep_scrub_wq;
- GenContextWQ gen_wq;
+ GenContextWQ recovery_gen_wq;
ClassHandler *&class_handler;
void dequeue_pg(PG *pg, list<OpRequestRef> *dequeued);
virtual void update_stats(
const pg_stat_t &stat) = 0;
- virtual void schedule_work(
+ virtual void schedule_recovery_work(
GenContext<ThreadPool::TPHandle&> *c) = 0;
virtual pg_shard_t whoami_shard() const = 0;
}
};
-struct PG_QueueAsync : public Context {
+struct PG_RecoveryQueueAsync : public Context {
PGBackend::Listener *pg;
GenContext<ThreadPool::TPHandle&> *c;
- PG_QueueAsync(
+ PG_RecoveryQueueAsync(
PGBackend::Listener *pg,
GenContext<ThreadPool::TPHandle&> *c) : pg(pg), c(c) {}
void finish(int) {
- pg->schedule_work(c);
+ pg->schedule_recovery_work(c);
}
};
int _r = store->read(coll, hoid, i->first.first,
i->first.second, *(i->second.first));
if (i->second.second) {
- get_parent()->schedule_work(
+ get_parent()->schedule_recovery_work(
get_parent()->bless_gencontext(
new AsyncReadCallback(_r, i->second.second)));
}
if (_r < 0)
r = _r;
}
- get_parent()->schedule_work(
+ get_parent()->schedule_recovery_work(
get_parent()->bless_gencontext(
new AsyncReadCallback(r, on_complete)));
}
peer_missing[peer].revise_have(soid, eversion_t());
}
-void ReplicatedPG::schedule_work(
+void ReplicatedPG::schedule_recovery_work(
GenContext<ThreadPool::TPHandle&> *c)
{
- osd->gen_wq.queue(c);
+ osd->recovery_gen_wq.queue(c);
}
void ReplicatedPG::send_message_osd_cluster(
m->get_priority());
c->to_continue.swap(to_continue);
t->register_on_complete(
- new PG_QueueAsync(
+ new PG_RecoveryQueueAsync(
get_parent(),
get_parent()->bless_gencontext(c)));
}
op->get_req()->get_priority());
c->to_continue.swap(to_continue);
t->register_on_complete(
- new PG_QueueAsync(
+ new PG_RecoveryQueueAsync(
get_parent(),
get_parent()->bless_gencontext(c)));
}
info.stats = stat;
}
- void schedule_work(
+ void schedule_recovery_work(
GenContext<ThreadPool::TPHandle&> *c);
pg_shard_t whoami_shard() const {