Skip to content

Commit 0b18c7c

Browse files
authored
Merge pull request ceph#61623 from ronen-fr/wip-rf-m2ore-keys
common,osd: replace obsolete get_tracked_conf_keys() Reviewed-by: Radoslaw Zarzynski <[email protected]>
2 parents 4244480 + 4d6c829 commit 0b18c7c

File tree

12 files changed

+102
-114
lines changed

12 files changed

+102
-114
lines changed

src/common/TracepointProvider.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
TracepointProvider::TracepointProvider(CephContext *cct, const char *library,
88
const char *config_key)
9-
: m_cct(cct), m_library(library), m_config_keys{config_key, NULL}
9+
: m_cct(cct), m_library(library), m_config_key{config_key}
1010
{
1111
m_cct->_conf.add_observer(this);
1212
verify_config(m_cct->_conf);
@@ -21,7 +21,7 @@ TracepointProvider::~TracepointProvider() {
2121

2222
void TracepointProvider::handle_conf_change(
2323
const ConfigProxy& conf, const std::set<std::string> &changed) {
24-
if (changed.count(m_config_keys[0])) {
24+
if (changed.count(m_config_key)) {
2525
verify_config(conf);
2626
}
2727
}
@@ -34,7 +34,7 @@ void TracepointProvider::verify_config(const ConfigProxy& conf) {
3434

3535
char buf[10];
3636
char *pbuf = buf;
37-
if (conf.get_val(m_config_keys[0], &pbuf, sizeof(buf)) != 0 ||
37+
if (conf.get_val(m_config_key, &pbuf, sizeof(buf)) != 0 ||
3838
strncmp(buf, "true", 5) != 0) {
3939
return;
4040
}

src/common/TracepointProvider.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,16 @@ class TracepointProvider : public md_config_obs_t {
6262
}
6363

6464
protected:
65-
const char** get_tracked_conf_keys() const override {
66-
return m_config_keys;
65+
std::vector<std::string> get_tracked_keys() const noexcept override {
66+
return std::vector<std::string>{m_config_key};
6767
}
6868
void handle_conf_change(const ConfigProxy& conf,
6969
const std::set <std::string> &changed) override;
7070

7171
private:
7272
CephContext *m_cct;
7373
std::string m_library;
74-
mutable const char* m_config_keys[2];
74+
std::string m_config_key;
7575

7676
ceph::mutex m_lock = ceph::make_mutex("TracepointProvider::m_lock");
7777
void* m_handle = nullptr;

src/common/WorkQueue.cc

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,6 @@ ThreadPool::ThreadPool(CephContext *cct_, std::string nm, std::string tn, int n,
3434
{
3535
if (option) {
3636
_thread_num_option = option;
37-
// set up conf_keys
38-
_conf_keys = new const char*[2];
39-
_conf_keys[0] = _thread_num_option.c_str();
40-
_conf_keys[1] = NULL;
41-
} else {
42-
_conf_keys = new const char*[1];
43-
_conf_keys[0] = NULL;
4437
}
4538
}
4639

@@ -58,7 +51,6 @@ void ThreadPool::TPHandle::reset_tp_timeout()
5851
ThreadPool::~ThreadPool()
5952
{
6053
ceph_assert(_threads.empty());
61-
delete[] _conf_keys;
6254
}
6355

6456
void ThreadPool::handle_conf_change(const ConfigProxy& conf,

src/common/WorkQueue.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,15 @@ class ThreadPool : public md_config_obs_t {
108108
// track thread pool size changes
109109
unsigned _num_threads;
110110
std::string _thread_num_option;
111-
const char **_conf_keys;
112111

113-
const char **get_tracked_conf_keys() const override {
114-
return _conf_keys;
112+
std::vector<std::string> get_tracked_keys() const noexcept override {
113+
if (_thread_num_option.empty()) {
114+
return {};
115+
} else {
116+
return {_thread_num_option};
117+
}
115118
}
119+
116120
void handle_conf_change(const ConfigProxy& conf,
117121
const std::set <std::string> &changed) override;
118122

src/common/ceph_context.cc

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -387,14 +387,12 @@ class CephContextObs : public md_config_obs_t {
387387
public:
388388
explicit CephContextObs(CephContext *cct) : cct(cct) {}
389389

390-
const char** get_tracked_conf_keys() const override {
391-
static const char *KEYS[] = {
392-
"enable_experimental_unrecoverable_data_corrupting_features",
393-
"crush_location",
394-
"container_image", // just so we don't hear complaints about it!
395-
NULL
390+
std::vector<std::string> get_tracked_keys() const noexcept override {
391+
return {
392+
"enable_experimental_unrecoverable_data_corrupting_features"s,
393+
"crush_location"s,
394+
"container_image"s // just so we don't hear complaints about it!
396395
};
397-
return KEYS;
398396
}
399397

400398
void handle_conf_change(const ConfigProxy& conf,

src/common/pick_address.cc

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -201,14 +201,11 @@ const struct sockaddr *find_ip_in_subnet_list(
201201
#ifndef WITH_SEASTAR
202202
// observe this change
203203
struct Observer : public md_config_obs_t {
204-
const char *keys[2];
205-
explicit Observer(const char *c) {
206-
keys[0] = c;
207-
keys[1] = NULL;
208-
}
204+
const std::string key;
205+
explicit Observer(const char *c) : key(c) {}
209206

210-
const char** get_tracked_conf_keys() const override {
211-
return (const char **)keys;
207+
std::vector<std::string> get_tracked_keys() const noexcept override {
208+
return std::vector<std::string>{key};
212209
}
213210
void handle_conf_change(const ConfigProxy& conf,
214211
const std::set <std::string> &changed) override {

src/osd/OSD.cc

Lines changed: 54 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ using ceph::make_mutex;
192192
using namespace ceph::osd::scheduler;
193193
using TOPNSPC::common::cmd_getval;
194194
using TOPNSPC::common::cmd_getval_or;
195+
using namespace std::literals;
195196

196197
static ostream& _prefix(std::ostream* _dout, int whoami, epoch_t epoch) {
197198
return *_dout << "osd." << whoami << " " << epoch << " ";
@@ -9993,63 +9994,61 @@ void OSD::dequeue_delete(
99939994

99949995
// --------------------------------
99959996

9996-
const char** OSD::get_tracked_conf_keys() const
9997-
{
9998-
static const char* KEYS[] = {
9999-
"osd_max_backfills",
10000-
"osd_min_recovery_priority",
10001-
"osd_max_trimming_pgs",
10002-
"osd_op_complaint_time",
10003-
"osd_op_log_threshold",
10004-
"osd_op_history_size",
10005-
"osd_op_history_duration",
10006-
"osd_op_history_slow_op_size",
10007-
"osd_op_history_slow_op_threshold",
10008-
"osd_enable_op_tracker",
10009-
"osd_map_cache_size",
10010-
"osd_pg_epoch_max_lag_factor",
10011-
"osd_pg_epoch_persisted_max_stale",
10012-
"osd_recovery_sleep",
10013-
"osd_recovery_sleep_hdd",
10014-
"osd_recovery_sleep_ssd",
10015-
"osd_recovery_sleep_hybrid",
10016-
"osd_delete_sleep",
10017-
"osd_delete_sleep_hdd",
10018-
"osd_delete_sleep_ssd",
10019-
"osd_delete_sleep_hybrid",
10020-
"osd_snap_trim_sleep",
10021-
"osd_snap_trim_sleep_hdd",
10022-
"osd_snap_trim_sleep_ssd",
10023-
"osd_snap_trim_sleep_hybrid",
10024-
"osd_scrub_sleep",
10025-
"osd_recovery_max_active",
10026-
"osd_recovery_max_active_hdd",
10027-
"osd_recovery_max_active_ssd",
9997+
std::vector<std::string> OSD::get_tracked_keys() const noexcept
9998+
{
9999+
return {
10000+
"osd_max_backfills"s,
10001+
"osd_min_recovery_priority"s,
10002+
"osd_max_trimming_pgs"s,
10003+
"osd_op_complaint_time"s,
10004+
"osd_op_log_threshold"s,
10005+
"osd_op_history_size"s,
10006+
"osd_op_history_duration"s,
10007+
"osd_op_history_slow_op_size"s,
10008+
"osd_op_history_slow_op_threshold"s,
10009+
"osd_enable_op_tracker"s,
10010+
"osd_map_cache_size"s,
10011+
"osd_pg_epoch_max_lag_factor"s,
10012+
"osd_pg_epoch_persisted_max_stale"s,
10013+
"osd_recovery_sleep"s,
10014+
"osd_recovery_sleep_hdd"s,
10015+
"osd_recovery_sleep_ssd"s,
10016+
"osd_recovery_sleep_hybrid"s,
10017+
"osd_delete_sleep"s,
10018+
"osd_delete_sleep_hdd"s,
10019+
"osd_delete_sleep_ssd"s,
10020+
"osd_delete_sleep_hybrid"s,
10021+
"osd_snap_trim_sleep"s,
10022+
"osd_snap_trim_sleep_hdd"s,
10023+
"osd_snap_trim_sleep_ssd"s,
10024+
"osd_snap_trim_sleep_hybrid"s,
10025+
"osd_scrub_sleep"s,
10026+
"osd_recovery_max_active"s,
10027+
"osd_recovery_max_active_hdd"s,
10028+
"osd_recovery_max_active_ssd"s,
1002810029
// clog & admin clog
10029-
"clog_to_monitors",
10030-
"clog_to_syslog",
10031-
"clog_to_syslog_facility",
10032-
"clog_to_syslog_level",
10033-
"osd_objectstore_fuse",
10034-
"clog_to_graylog",
10035-
"clog_to_graylog_host",
10036-
"clog_to_graylog_port",
10037-
"host",
10038-
"fsid",
10039-
"osd_recovery_delay_start",
10040-
"osd_client_message_size_cap",
10041-
"osd_client_message_cap",
10042-
"osd_heartbeat_min_size",
10043-
"osd_heartbeat_interval",
10044-
"osd_object_clean_region_max_num_intervals",
10045-
"osd_scrub_min_interval",
10046-
"osd_scrub_max_interval",
10047-
"osd_op_thread_timeout",
10048-
"osd_op_thread_suicide_timeout",
10049-
"osd_max_scrubs",
10050-
nullptr
10030+
"clog_to_monitors"s,
10031+
"clog_to_syslog"s,
10032+
"clog_to_syslog_facility"s,
10033+
"clog_to_syslog_level"s,
10034+
"osd_objectstore_fuse"s,
10035+
"clog_to_graylog"s,
10036+
"clog_to_graylog_host"s,
10037+
"clog_to_graylog_port"s,
10038+
"host"s,
10039+
"fsid"s,
10040+
"osd_recovery_delay_start"s,
10041+
"osd_client_message_size_cap"s,
10042+
"osd_client_message_cap"s,
10043+
"osd_heartbeat_min_size"s,
10044+
"osd_heartbeat_interval"s,
10045+
"osd_object_clean_region_max_num_intervals"s,
10046+
"osd_scrub_min_interval"s,
10047+
"osd_scrub_max_interval"s,
10048+
"osd_op_thread_timeout"s,
10049+
"osd_op_thread_suicide_timeout"s,
10050+
"osd_max_scrubs"s
1005110051
};
10052-
return KEYS;
1005310052
}
1005410053

1005510054
void OSD::handle_conf_change(const ConfigProxy& conf,

src/osd/OSD.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1077,7 +1077,7 @@ class OSD : public Dispatcher,
10771077

10781078
public:
10791079
// config observer bits
1080-
const char** get_tracked_conf_keys() const override;
1080+
std::vector<std::string> get_tracked_keys() const noexcept override;
10811081
void handle_conf_change(const ConfigProxy& conf,
10821082
const std::set <std::string> &changed) override;
10831083
void update_log_config();

src/osd/scheduler/mClockScheduler.cc

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
namespace dmc = crimson::dmclock;
2323
using namespace std::placeholders;
24+
using namespace std::literals;
2425

2526
#define dout_context cct
2627
#define dout_subsys ceph_subsys_mclock
@@ -590,26 +591,24 @@ std::string mClockScheduler::display_queues() const
590591
return out.str();
591592
}
592593

593-
const char** mClockScheduler::get_tracked_conf_keys() const
594+
std::vector<std::string> mClockScheduler::get_tracked_keys() const noexcept
594595
{
595-
static const char* KEYS[] = {
596-
"osd_mclock_scheduler_client_res",
597-
"osd_mclock_scheduler_client_wgt",
598-
"osd_mclock_scheduler_client_lim",
599-
"osd_mclock_scheduler_background_recovery_res",
600-
"osd_mclock_scheduler_background_recovery_wgt",
601-
"osd_mclock_scheduler_background_recovery_lim",
602-
"osd_mclock_scheduler_background_best_effort_res",
603-
"osd_mclock_scheduler_background_best_effort_wgt",
604-
"osd_mclock_scheduler_background_best_effort_lim",
605-
"osd_mclock_max_capacity_iops_hdd",
606-
"osd_mclock_max_capacity_iops_ssd",
607-
"osd_mclock_max_sequential_bandwidth_hdd",
608-
"osd_mclock_max_sequential_bandwidth_ssd",
609-
"osd_mclock_profile",
610-
NULL
596+
return {
597+
"osd_mclock_scheduler_client_res"s,
598+
"osd_mclock_scheduler_client_wgt"s,
599+
"osd_mclock_scheduler_client_lim"s,
600+
"osd_mclock_scheduler_background_recovery_res"s,
601+
"osd_mclock_scheduler_background_recovery_wgt"s,
602+
"osd_mclock_scheduler_background_recovery_lim"s,
603+
"osd_mclock_scheduler_background_best_effort_res"s,
604+
"osd_mclock_scheduler_background_best_effort_wgt"s,
605+
"osd_mclock_scheduler_background_best_effort_lim"s,
606+
"osd_mclock_max_capacity_iops_hdd"s,
607+
"osd_mclock_max_capacity_iops_ssd"s,
608+
"osd_mclock_max_sequential_bandwidth_hdd"s,
609+
"osd_mclock_max_sequential_bandwidth_ssd"s,
610+
"osd_mclock_profile"s
611611
};
612-
return KEYS;
613612
}
614613

615614
void mClockScheduler::handle_conf_change(

src/osd/scheduler/mClockScheduler.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ class mClockScheduler : public OpScheduler, md_config_obs_t {
269269
return op_queue_type_t::mClockScheduler;
270270
}
271271

272-
const char** get_tracked_conf_keys() const final;
272+
std::vector<std::string> get_tracked_keys() const noexcept final;
273273
void handle_conf_change(const ConfigProxy& conf,
274274
const std::set<std::string> &changed) final;
275275

0 commit comments

Comments
 (0)