summaryrefslogtreecommitdiff
path: root/src/osd/OSD.h
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-01-22 16:13:14 -0800
committerSage Weil <sage@inktank.com>2013-01-22 16:13:14 -0800
commit8eee815fb2686d505ec0ad4e3d3239e323990610 (patch)
treedd679e33ff3ecb7d86a42bde6ee65cb38688fc9c /src/osd/OSD.h
parenteaf20fa94bf23f268a6d84fa0e9845fc1adf4c79 (diff)
parent73a969366c8bbd105579611320c43e2334907fef (diff)
downloadceph-8eee815fb2686d505ec0ad4e3d3239e323990610.tar.gz
Merge remote-tracking branch 'gh/wip-3833-b'
Conflicts: src/osd/OSD.cc src/osd/OSD.h Reviewed-by: Samuel Just <sam.just@inktank.com>
Diffstat (limited to 'src/osd/OSD.h')
-rw-r--r--src/osd/OSD.h34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/osd/OSD.h b/src/osd/OSD.h
index be4ed11791e..359d75396fe 100644
--- a/src/osd/OSD.h
+++ b/src/osd/OSD.h
@@ -395,8 +395,15 @@ public:
OSDService(OSD *osd);
};
-class OSD : public Dispatcher {
+class OSD : public Dispatcher,
+ public md_config_obs_t {
/** OSD **/
+public:
+ // config observer bits
+ virtual const char** get_tracked_conf_keys() const;
+ virtual void handle_conf_change(const struct md_config_t *conf,
+ const std::set <std::string> &changed);
+
protected:
Mutex osd_lock; // global lock
SafeTimer timer; // safe timer (osd_lock)
@@ -434,6 +441,11 @@ protected:
void check_osdmap_features();
+ // asok
+ friend class OSDSocketHook;
+ class OSDSocketHook *asok_hook;
+ bool asok_command(string command, string args, ostream& ss);
+
public:
ClassHandler *class_handler;
int get_nodeid() { return whoami; }
@@ -614,18 +626,10 @@ private:
// -- op tracking --
OpTracker op_tracker;
void check_ops_in_flight();
- void dump_ops_in_flight(ostream& ss);
- void dump_historic_ops(ostream& ss) {
- return op_tracker.dump_historic_ops(ss);
- }
void test_ops(std::string command, std::string args, ostream& ss);
- friend class OpsFlightSocketHook;
- friend class HistoricOpsSocketHook;
friend class TestOpsSocketHook;
- friend class C_CompleteSplits;
- OpsFlightSocketHook *admin_ops_hook;
- HistoricOpsSocketHook *historic_ops_hook;
TestOpsSocketHook *test_ops_hook;
+ friend class C_CompleteSplits;
// -- op queue --
@@ -639,7 +643,15 @@ private:
: ThreadPool::WorkQueueVal<pair<PGRef, OpRequestRef>, PGRef >(
"OSD::OpWQ", ti, ti*10, tp),
qlock("OpWQ::qlock"),
- osd(o) {}
+ osd(o),
+ pqueue(o->cct->_conf->osd_op_pq_max_tokens_per_priority,
+ o->cct->_conf->osd_op_pq_min_cost)
+ {}
+
+ void dump(Formatter *f) {
+ Mutex::Locker l(qlock);
+ pqueue.dump(f);
+ }
void _enqueue_front(pair<PGRef, OpRequestRef> item);
void _enqueue(pair<PGRef, OpRequestRef> item);