]>
Commit | Line | Data |
---|---|---|
c07f9fc5 FG |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | ||
4 | #include "acconfig.h" | |
5 | #include "options.h" | |
6 | #include "common/Formatter.h" | |
7 | ||
8 | // Helpers for validators | |
9 | #include "include/stringify.h" | |
10 | #include <boost/algorithm/string.hpp> | |
11 | #include <boost/lexical_cast.hpp> | |
12 | #include <boost/regex.hpp> | |
13 | ||
14 | ||
15 | void Option::dump_value(const char *field_name, | |
16 | const Option::value_t &v, Formatter *f) const | |
17 | { | |
18 | if (boost::get<boost::blank>(&v)) { | |
19 | // This should be nil but Formatter doesn't allow it. | |
20 | f->dump_string(field_name, ""); | |
21 | } else if (type == TYPE_UINT) { | |
22 | f->dump_unsigned(field_name, boost::get<uint64_t>(v)); | |
23 | } else if (type == TYPE_INT) { | |
24 | f->dump_int(field_name, boost::get<int64_t>(v)); | |
25 | } else if (type == TYPE_STR) { | |
26 | f->dump_string(field_name, boost::get<std::string>(v)); | |
27 | } else if (type == TYPE_FLOAT) { | |
28 | f->dump_float(field_name, boost::get<double>(v)); | |
29 | } else if (type == TYPE_BOOL) { | |
30 | f->dump_bool(field_name, boost::get<bool>(v)); | |
31 | } else { | |
32 | f->dump_stream(field_name) << v; | |
33 | } | |
34 | } | |
35 | ||
36 | int Option::pre_validate(std::string *new_value, std::string *err) const | |
37 | { | |
38 | if (validator) { | |
39 | return validator(new_value, err); | |
40 | } else { | |
41 | return 0; | |
42 | } | |
43 | } | |
44 | ||
45 | int Option::validate(const Option::value_t &new_value, std::string *err) const | |
46 | { | |
47 | // Generic validation: min | |
48 | if (!boost::get<boost::blank>(&(min))) { | |
49 | if (new_value < min) { | |
50 | std::ostringstream oss; | |
51 | oss << "Value '" << new_value << "' is below minimum " << min; | |
52 | *err = oss.str(); | |
53 | return -EINVAL; | |
54 | } | |
55 | } | |
56 | ||
57 | // Generic validation: max | |
58 | if (!boost::get<boost::blank>(&(max))) { | |
59 | if (new_value > max) { | |
60 | std::ostringstream oss; | |
61 | oss << "Value '" << new_value << "' exceeds maximum " << max; | |
62 | *err = oss.str(); | |
63 | return -EINVAL; | |
64 | } | |
65 | } | |
66 | ||
67 | // Generic validation: enum | |
68 | if (!enum_allowed.empty() && type == Option::TYPE_STR) { | |
69 | auto found = std::find(enum_allowed.begin(), enum_allowed.end(), | |
70 | boost::get<std::string>(new_value)); | |
71 | if (found == enum_allowed.end()) { | |
72 | std::ostringstream oss; | |
73 | oss << "'" << new_value << "' is not one of the permitted " | |
74 | "values: " << joinify(enum_allowed.begin(), | |
75 | enum_allowed.end(), | |
76 | std::string(", ")); | |
77 | *err = oss.str(); | |
78 | return -EINVAL; | |
79 | } | |
80 | } | |
81 | ||
82 | return 0; | |
83 | } | |
84 | ||
85 | void Option::dump(Formatter *f) const | |
86 | { | |
87 | f->open_object_section("option"); | |
88 | f->dump_string("name", name); | |
89 | ||
90 | f->dump_string("type", type_to_str(type)); | |
c07f9fc5 FG |
91 | |
92 | f->dump_string("level", level_to_str(level)); | |
93 | ||
94 | f->dump_string("desc", desc); | |
95 | f->dump_string("long_desc", long_desc); | |
96 | ||
97 | dump_value("default", value, f); | |
98 | dump_value("daemon_default", daemon_value, f); | |
99 | ||
100 | f->open_array_section("tags"); | |
101 | for (const auto t : tags) { | |
102 | f->dump_string("tag", t); | |
103 | } | |
104 | f->close_section(); | |
105 | ||
106 | f->open_array_section("services"); | |
107 | for (const auto s : services) { | |
108 | f->dump_string("service", s); | |
109 | } | |
110 | f->close_section(); | |
111 | ||
112 | f->open_array_section("see_also"); | |
113 | for (const auto sa : see_also) { | |
114 | f->dump_string("see_also", sa); | |
115 | } | |
116 | f->close_section(); | |
117 | ||
118 | if (type == TYPE_STR) { | |
119 | f->open_array_section("enum_values"); | |
120 | for (const auto &ea : enum_allowed) { | |
121 | f->dump_string("enum_value", ea); | |
122 | } | |
123 | f->close_section(); | |
124 | } | |
125 | ||
126 | dump_value("min", min, f); | |
127 | dump_value("max", max, f); | |
128 | ||
129 | f->close_section(); | |
130 | } | |
131 | ||
132 | ||
d2e6a577 FG |
133 | std::vector<Option> get_global_options() { |
134 | return std::vector<Option>({ | |
135 | Option("host", Option::TYPE_STR, Option::LEVEL_BASIC) | |
136 | .set_description("local hostname") | |
137 | .set_long_description("if blank, ceph assumes the short hostname (hostname -s)") | |
138 | .add_service("common") | |
139 | .add_tag("network"), | |
140 | ||
141 | Option("fsid", Option::TYPE_UUID, Option::LEVEL_BASIC) | |
142 | .set_description("cluster fsid (uuid)") | |
143 | .add_service("common") | |
144 | .add_tag("service"), | |
145 | ||
146 | Option("public_addr", Option::TYPE_ADDR, Option::LEVEL_BASIC) | |
147 | .set_description("public-facing address to bind to") | |
148 | .add_service({"mon", "mds", "osd", "mgr"}), | |
149 | ||
150 | Option("public_bind_addr", Option::TYPE_ADDR, Option::LEVEL_ADVANCED) | |
151 | .set_default(entity_addr_t()) | |
152 | .add_service("mon") | |
153 | .set_description(""), | |
154 | ||
155 | Option("cluster_addr", Option::TYPE_ADDR, Option::LEVEL_BASIC) | |
156 | .set_description("cluster-facing address to bind to") | |
157 | .add_service("osd") | |
158 | .add_tag("network"), | |
159 | ||
160 | Option("public_network", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
161 | .add_service({"mon", "mds", "osd", "mgr"}) | |
162 | .add_tag("network") | |
163 | .set_description(""), | |
164 | ||
165 | Option("cluster_network", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
166 | .add_service("osd") | |
167 | .add_tag("network") | |
168 | .set_description(""), | |
169 | ||
170 | Option("monmap", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
171 | .set_description("path to MonMap file") | |
172 | .set_long_description("This option is normally used during mkfs, but can also " | |
173 | "be used to identify which monitors to connect to.") | |
174 | .add_service("mon") | |
175 | .add_tag("mkfs"), | |
176 | ||
177 | Option("mon_host", Option::TYPE_STR, Option::LEVEL_BASIC) | |
178 | .set_description("list of hosts or addresses to search for a monitor") | |
179 | .set_long_description("This is a comma, whitespace, or semicolon separated " | |
180 | "list of IP addresses or hostnames. Hostnames are " | |
181 | "resolved via DNS and all A or AAAA records are " | |
182 | "included in the search list.") | |
183 | .add_service("common"), | |
184 | ||
185 | Option("mon_dns_srv_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
186 | .set_description("name of DNS SRV record to check for monitor addresses") | |
187 | .add_service("common") | |
188 | .add_tag("network") | |
189 | .add_see_also("mon_host"), | |
190 | ||
191 | // lockdep | |
192 | Option("lockdep", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
193 | .set_description("enable lockdep lock dependency analyzer") | |
194 | .add_service("common"), | |
195 | ||
196 | Option("lockdep_force_backtrace", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
197 | .set_description("always gather current backtrace at every lock") | |
198 | .add_service("common") | |
199 | .add_see_also("lockdep"), | |
200 | ||
201 | Option("run_dir", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
202 | .set_default("/var/run/ceph") | |
203 | .set_description("path for the 'run' directory for storing pid and socket files") | |
204 | .add_service("common") | |
205 | .add_see_also("admin_socket"), | |
206 | ||
207 | Option("admin_socket", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
208 | .set_default("") | |
209 | .set_daemon_default("$run_dir/$cluster-$name.asok") | |
210 | .set_description("path for the runtime control socket file, used by the 'ceph daemon' command") | |
211 | .add_service("common"), | |
212 | ||
213 | Option("admin_socket_mode", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
214 | .set_description("file mode to set for the admin socket file, e.g, '0755'") | |
215 | .add_service("common") | |
216 | .add_see_also("admin_socket"), | |
217 | ||
218 | Option("crushtool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
219 | .set_description("name of the 'crushtool' utility") | |
220 | .add_service("mon"), | |
221 | ||
222 | // daemon | |
223 | Option("daemonize", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
224 | .set_default(false) | |
225 | .set_daemon_default(true) | |
226 | .set_description("whether to daemonize (background) after startup") | |
227 | .add_service({"mon", "mgr", "osd", "mds"}) | |
228 | .add_tag("service") | |
229 | .add_see_also({"pid_file", "chdir"}), | |
230 | ||
231 | Option("setuser", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
232 | .set_description("uid or user name to switch to on startup") | |
233 | .set_long_description("This is normally specified by the systemd unit file.") | |
234 | .add_service({"mon", "mgr", "osd", "mds"}) | |
235 | .add_tag("service") | |
236 | .add_see_also("setgroup"), | |
237 | ||
238 | Option("setgroup", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
239 | .set_description("gid or group name to switch to on startup") | |
240 | .set_long_description("This is normally specified by the systemd unit file.") | |
241 | .add_service({"mon", "mgr", "osd", "mds"}) | |
242 | .add_tag("service") | |
243 | .add_see_also("setuser"), | |
244 | ||
245 | Option("setuser_match_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
246 | .set_description("if set, setuser/setgroup is condition on this path matching ownership") | |
247 | .set_long_description("If setuser or setgroup are specified, and this option is non-empty, then the uid/gid of the daemon will only be changed if the file or directory specified by this option has a matching uid and/or gid. This exists primarily to allow switching to user ceph for OSDs to be conditional on whether the osd data contents have also been chowned after an upgrade. This is normally specified by the systemd unit file.") | |
248 | .add_service({"mon", "mgr", "osd", "mds"}) | |
249 | .add_tag("service") | |
250 | .add_see_also({"setuser", "setgroup"}), | |
251 | ||
252 | Option("pid_file", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
253 | .set_description("path to write a pid file (if any)") | |
254 | .add_service({"mon", "mgr", "osd", "mds"}) | |
255 | .add_tag("service"), | |
256 | ||
257 | Option("chdir", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
258 | .set_description("path to chdir(2) to after daemonizing") | |
259 | .add_service({"mon", "mgr", "osd", "mds"}) | |
260 | .add_tag("service") | |
261 | .add_see_also("daemonize"), | |
262 | ||
263 | Option("fatal_signal_handlers", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
264 | .set_default(true) | |
265 | .set_description("whether to register signal handlers for SIGABRT etc that dump a stack trace") | |
266 | .set_long_description("This is normally true for daemons and values for libraries.") | |
267 | .add_service({"mon", "mgr", "osd", "mds"}) | |
268 | .add_tag("service"), | |
269 | ||
270 | // restapi | |
271 | Option("restapi_log_level", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
272 | .set_description("default set by python code"), | |
273 | ||
274 | Option("restapi_base_url", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
275 | .set_description("default set by python code"), | |
276 | ||
277 | Option("erasure_code_dir", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
278 | .set_default(CEPH_PKGLIBDIR"/erasure-code") | |
279 | .set_description("directory where erasure-code plugins can be found") | |
280 | .add_service({"mon", "osd"}) | |
281 | .set_safe(), | |
282 | ||
283 | // logging | |
284 | Option("log_file", Option::TYPE_STR, Option::LEVEL_BASIC) | |
285 | .set_default("") | |
286 | .set_daemon_default("/var/log/ceph/$cluster-$name.log") | |
287 | .set_description("path to log file") | |
288 | .add_see_also({"log_to_stderr", | |
289 | "err_to_stderr", | |
290 | "log_to_syslog", | |
291 | "err_to_syslog"}), | |
292 | ||
293 | Option("log_max_new", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
294 | .set_default(1000) | |
295 | .set_description("max unwritten log entries to allow before waiting to flush to the log") | |
296 | .add_see_also("log_max_recent"), | |
297 | ||
298 | Option("log_max_recent", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
299 | .set_default(500) | |
300 | .set_daemon_default(10000) | |
301 | .set_description("recent log entries to keep in memory to dump in the event of a crash") | |
302 | .set_long_description("The purpose of this option is to log at a higher debug level only to the in-memory buffer, and write out the detailed log messages only if there is a crash. Only log entries below the lower log level will be written unconditionally to the log. For example, debug_osd=1/5 will write everything <= 1 to the log unconditionally but keep entries at levels 2-5 in memory. If there is a seg fault or assertion failure, all entries will be dumped to the log."), | |
303 | ||
304 | Option("log_to_stderr", Option::TYPE_BOOL, Option::LEVEL_BASIC) | |
305 | .set_default(true) | |
306 | .set_daemon_default(false) | |
307 | .set_description("send log lines to stderr"), | |
308 | ||
309 | Option("err_to_stderr", Option::TYPE_BOOL, Option::LEVEL_BASIC) | |
310 | .set_default(false) | |
311 | .set_daemon_default(true) | |
312 | .set_description("send critical error log lines to stderr"), | |
313 | ||
314 | Option("log_to_syslog", Option::TYPE_BOOL, Option::LEVEL_BASIC) | |
315 | .set_default(false) | |
316 | .set_description("send log lines to syslog facility"), | |
317 | ||
318 | Option("err_to_syslog", Option::TYPE_BOOL, Option::LEVEL_BASIC) | |
319 | .set_default(false) | |
320 | .set_description("send critical error log lines to syslog facility"), | |
321 | ||
322 | Option("log_flush_on_exit", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
323 | .set_default(false) | |
324 | .set_description("set a process exit handler to ensure the log is flushed on exit"), | |
325 | ||
326 | Option("log_stop_at_utilization", Option::TYPE_FLOAT, Option::LEVEL_BASIC) | |
327 | .set_default(.97) | |
328 | .set_min_max(0.0, 1.0) | |
329 | .set_description("stop writing to the log file when device utilization reaches this ratio") | |
330 | .add_see_also("log_file"), | |
331 | ||
332 | Option("log_to_graylog", Option::TYPE_BOOL, Option::LEVEL_BASIC) | |
333 | .set_default(false) | |
334 | .set_description("send log lines to remote graylog server") | |
335 | .add_see_also({"err_to_graylog", | |
336 | "log_graylog_host", | |
337 | "log_graylog_port"}), | |
338 | ||
339 | Option("err_to_graylog", Option::TYPE_BOOL, Option::LEVEL_BASIC) | |
340 | .set_default(false) | |
341 | .set_description("send critical error log lines to remote graylog server") | |
342 | .add_see_also({"log_to_graylog", | |
343 | "log_graylog_host", | |
344 | "log_graylog_port"}), | |
345 | ||
346 | Option("log_graylog_host", Option::TYPE_STR, Option::LEVEL_BASIC) | |
347 | .set_default("127.0.0.1") | |
348 | .set_description("address or hostname of graylog server to log to") | |
349 | .add_see_also({"log_to_graylog", | |
350 | "err_to_graylog", | |
351 | "log_graylog_port"}), | |
352 | ||
353 | Option("log_graylog_port", Option::TYPE_INT, Option::LEVEL_BASIC) | |
354 | .set_default(12201) | |
355 | .set_description("port number for the remote graylog server") | |
356 | .add_see_also("log_graylog_host"), | |
357 | ||
358 | ||
359 | ||
360 | // unmodified | |
361 | Option("clog_to_monitors", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
362 | .set_default("default=true") | |
363 | .set_description(""), | |
364 | ||
365 | Option("clog_to_syslog", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
366 | .set_default("false") | |
367 | .set_description(""), | |
368 | ||
369 | Option("clog_to_syslog_level", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
370 | .set_default("info") | |
371 | .set_description(""), | |
372 | ||
373 | Option("clog_to_syslog_facility", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
374 | .set_default("default=daemon audit=local0") | |
375 | .set_description(""), | |
376 | ||
377 | Option("clog_to_graylog", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
378 | .set_default("false") | |
379 | .set_description(""), | |
380 | ||
381 | Option("clog_to_graylog_host", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
382 | .set_default("127.0.0.1") | |
383 | .set_description(""), | |
384 | ||
385 | Option("clog_to_graylog_port", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
386 | .set_default("12201") | |
387 | .set_description(""), | |
388 | ||
389 | Option("mon_cluster_log_to_syslog", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
390 | .set_default("default=false") | |
391 | .set_description(""), | |
392 | ||
393 | Option("mon_cluster_log_to_syslog_level", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
394 | .set_default("info") | |
395 | .set_description(""), | |
396 | ||
397 | Option("mon_cluster_log_to_syslog_facility", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
398 | .set_default("daemon") | |
399 | .set_description(""), | |
400 | ||
401 | Option("mon_cluster_log_file", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
402 | .set_default("default=/var/log/ceph/$cluster.$channel.log cluster=/var/log/ceph/$cluster.log") | |
403 | .set_description(""), | |
404 | ||
405 | Option("mon_cluster_log_file_level", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
406 | .set_default("info") | |
407 | .set_description(""), | |
408 | ||
409 | Option("mon_cluster_log_to_graylog", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
410 | .set_default("false") | |
411 | .set_description(""), | |
412 | ||
413 | Option("mon_cluster_log_to_graylog_host", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
414 | .set_default("127.0.0.1") | |
415 | .set_description(""), | |
416 | ||
417 | Option("mon_cluster_log_to_graylog_port", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
418 | .set_default("12201") | |
419 | .set_description(""), | |
420 | ||
421 | Option("enable_experimental_unrecoverable_data_corrupting_features", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
422 | .set_default("") | |
423 | .set_description(""), | |
424 | ||
425 | Option("plugin_dir", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
426 | .set_default(CEPH_PKGLIBDIR) | |
427 | .set_description("") | |
428 | .set_safe(), | |
429 | ||
430 | Option("xio_trace_mempool", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
431 | .set_default(false) | |
432 | .set_description(""), | |
433 | ||
434 | Option("xio_trace_msgcnt", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
435 | .set_default(false) | |
436 | .set_description(""), | |
437 | ||
438 | Option("xio_trace_xcon", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
439 | .set_default(false) | |
440 | .set_description(""), | |
441 | ||
442 | Option("xio_queue_depth", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
443 | .set_default(128) | |
444 | .set_description(""), | |
445 | ||
446 | Option("xio_mp_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
447 | .set_default(128) | |
448 | .set_description(""), | |
449 | ||
450 | Option("xio_mp_max_64", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
451 | .set_default(65536) | |
452 | .set_description(""), | |
453 | ||
454 | Option("xio_mp_max_256", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
455 | .set_default(8192) | |
456 | .set_description(""), | |
c07f9fc5 | 457 | |
d2e6a577 FG |
458 | Option("xio_mp_max_1k", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
459 | .set_default(8192) | |
460 | .set_description(""), | |
461 | ||
462 | Option("xio_mp_max_page", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
463 | .set_default(4096) | |
464 | .set_description(""), | |
465 | ||
466 | Option("xio_mp_max_hint", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
467 | .set_default(4096) | |
468 | .set_description(""), | |
469 | ||
470 | Option("xio_portal_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
471 | .set_default(2) | |
472 | .set_description(""), | |
473 | ||
474 | Option("xio_max_conns_per_portal", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
475 | .set_default(32) | |
476 | .set_description(""), | |
477 | ||
478 | Option("xio_transport_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
479 | .set_default("rdma") | |
480 | .set_description(""), | |
481 | ||
482 | Option("xio_max_send_inline", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
483 | .set_default(512) | |
484 | .set_description(""), | |
485 | ||
486 | Option("compressor_zlib_isal", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
487 | .set_default(false) | |
488 | .set_description(""), | |
489 | ||
490 | Option("compressor_zlib_level", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
491 | .set_default(5) | |
492 | .set_description(""), | |
493 | ||
494 | Option("async_compressor_enabled", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
495 | .set_default(false) | |
496 | .set_description(""), | |
497 | ||
498 | Option("async_compressor_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
499 | .set_default("snappy") | |
500 | .set_description(""), | |
501 | ||
502 | Option("async_compressor_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
503 | .set_default(2) | |
504 | .set_description(""), | |
505 | ||
506 | Option("async_compressor_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
507 | .set_default(5) | |
508 | .set_description(""), | |
509 | ||
510 | Option("async_compressor_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
511 | .set_default(30) | |
512 | .set_description(""), | |
513 | ||
514 | Option("plugin_crypto_accelerator", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
515 | .set_default("crypto_isal") | |
516 | .set_description(""), | |
517 | ||
518 | Option("mempool_debug", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
519 | .set_default(false) | |
520 | .set_description(""), | |
521 | ||
522 | Option("key", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
523 | .set_default("") | |
524 | .set_description(""), | |
525 | ||
526 | Option("keyfile", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
527 | .set_default("") | |
528 | .set_description(""), | |
529 | ||
530 | Option("keyring", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
531 | .set_default( | |
532 | "/etc/ceph/$cluster.$name.keyring,/etc/ceph/$cluster.keyring," | |
533 | "/etc/ceph/keyring,/etc/ceph/keyring.bin," | |
534 | #if defined(__FreeBSD) | |
535 | "/usr/local/etc/ceph/$cluster.$name.keyring," | |
536 | "/usr/local/etc/ceph/$cluster.keyring," | |
537 | "/usr/local/etc/ceph/keyring,/usr/local/etc/ceph/keyring.bin," | |
538 | #endif | |
539 | ) | |
540 | .set_description(""), | |
541 | ||
542 | Option("heartbeat_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
543 | .set_default(5) | |
544 | .set_description(""), | |
545 | ||
546 | Option("heartbeat_file", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
547 | .set_default("") | |
548 | .set_description(""), | |
549 | ||
550 | Option("heartbeat_inject_failure", Option::TYPE_INT, Option::LEVEL_DEV) | |
551 | .set_default(0) | |
552 | .set_description(""), | |
553 | ||
554 | Option("perf", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
555 | .set_default(true) | |
556 | .set_description(""), | |
557 | ||
558 | Option("ms_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
559 | .set_default("async+posix") | |
560 | .set_description("") | |
561 | .set_safe(), | |
562 | ||
563 | Option("ms_public_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
564 | .set_default("") | |
565 | .set_description(""), | |
566 | ||
567 | Option("ms_cluster_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
568 | .set_default("") | |
569 | .set_description(""), | |
570 | ||
571 | Option("ms_tcp_nodelay", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
572 | .set_default(true) | |
573 | .set_description(""), | |
574 | ||
575 | Option("ms_tcp_rcvbuf", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
576 | .set_default(0) | |
577 | .set_description(""), | |
578 | ||
579 | Option("ms_tcp_prefetch_max_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
580 | .set_default(4096) | |
581 | .set_description(""), | |
582 | ||
583 | Option("ms_initial_backoff", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
584 | .set_default(.2) | |
585 | .set_description(""), | |
586 | ||
587 | Option("ms_max_backoff", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
588 | .set_default(15.0) | |
589 | .set_description(""), | |
590 | ||
591 | Option("ms_crc_data", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
592 | .set_default(true) | |
593 | .set_description(""), | |
594 | ||
595 | Option("ms_crc_header", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
596 | .set_default(true) | |
597 | .set_description(""), | |
598 | ||
599 | Option("ms_die_on_bad_msg", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
600 | .set_default(false) | |
601 | .set_description(""), | |
602 | ||
603 | Option("ms_die_on_unhandled_msg", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
604 | .set_default(false) | |
605 | .set_description(""), | |
606 | ||
607 | Option("ms_die_on_old_message", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
608 | .set_default(false) | |
609 | .set_description(""), | |
610 | ||
611 | Option("ms_die_on_skipped_message", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
612 | .set_default(false) | |
613 | .set_description(""), | |
614 | ||
615 | Option("ms_dispatch_throttle_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
616 | .set_default(100 << 20) | |
617 | .set_description(""), | |
618 | ||
619 | Option("ms_bind_ipv6", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
620 | .set_default(false) | |
621 | .set_description(""), | |
622 | ||
623 | Option("ms_bind_port_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
624 | .set_default(6800) | |
625 | .set_description(""), | |
626 | ||
627 | Option("ms_bind_port_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
628 | .set_default(7300) | |
629 | .set_description(""), | |
630 | ||
631 | Option("ms_bind_retry_count", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
632 | #if !defined(__FreeBSD__) | |
633 | .set_default(3) | |
634 | #else | |
635 | // FreeBSD does not use SO_REAUSEADDR so allow for a bit more time per default | |
636 | .set_default(6) | |
637 | #endif | |
638 | .set_description(""), | |
639 | ||
640 | Option("ms_bind_retry_delay", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
641 | #if !defined(__FreeBSD__) | |
642 | .set_default(5) | |
643 | #else | |
644 | // FreeBSD does not use SO_REAUSEADDR so allow for a bit more time per default | |
645 | .set_default(6) | |
646 | #endif | |
647 | .set_description(""), | |
648 | ||
649 | Option("ms_bind_before_connect", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
650 | .set_default(false) | |
651 | .set_description(""), | |
652 | ||
653 | Option("ms_tcp_listen_backlog", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
654 | .set_default(512) | |
655 | .set_description(""), | |
656 | ||
657 | Option("ms_rwthread_stack_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
658 | .set_default(1024 << 10) | |
659 | .set_description(""), | |
660 | ||
661 | Option("ms_tcp_read_timeout", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
662 | .set_default(900) | |
663 | .set_description(""), | |
664 | ||
665 | Option("ms_pq_max_tokens_per_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
666 | .set_default(16777216) | |
667 | .set_description(""), | |
668 | ||
669 | Option("ms_pq_min_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
670 | .set_default(65536) | |
671 | .set_description(""), | |
672 | ||
673 | Option("ms_inject_socket_failures", Option::TYPE_UINT, Option::LEVEL_DEV) | |
674 | .set_default(0) | |
675 | .set_description(""), | |
676 | ||
677 | Option("ms_inject_delay_type", Option::TYPE_STR, Option::LEVEL_DEV) | |
678 | .set_default("") | |
679 | .set_description("") | |
680 | .set_safe(), | |
681 | ||
682 | Option("ms_inject_delay_msg_type", Option::TYPE_STR, Option::LEVEL_DEV) | |
683 | .set_default("") | |
684 | .set_description(""), | |
685 | ||
686 | Option("ms_inject_delay_max", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
687 | .set_default(1) | |
688 | .set_description(""), | |
689 | ||
690 | Option("ms_inject_delay_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
691 | .set_default(0) | |
692 | .set_description(""), | |
693 | ||
694 | Option("ms_inject_internal_delays", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
695 | .set_default(0) | |
696 | .set_description(""), | |
697 | ||
698 | Option("ms_dump_on_send", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
699 | .set_default(false) | |
700 | .set_description(""), | |
701 | ||
702 | Option("ms_dump_corrupt_message_level", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
703 | .set_default(1) | |
704 | .set_description(""), | |
705 | ||
706 | Option("ms_async_op_threads", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
707 | .set_default(3) | |
708 | .set_description(""), | |
709 | ||
710 | Option("ms_async_max_op_threads", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
711 | .set_default(5) | |
712 | .set_description(""), | |
713 | ||
714 | Option("ms_async_set_affinity", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
715 | .set_default(true) | |
716 | .set_description(""), | |
717 | ||
718 | Option("ms_async_affinity_cores", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
719 | .set_default("") | |
720 | .set_description(""), | |
721 | ||
722 | Option("ms_async_rdma_device_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
723 | .set_default("") | |
724 | .set_description(""), | |
725 | ||
726 | Option("ms_async_rdma_enable_hugepage", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
727 | .set_default(false) | |
728 | .set_description(""), | |
729 | ||
730 | Option("ms_async_rdma_buffer_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
731 | .set_default(128 << 10) | |
732 | .set_description(""), | |
733 | ||
734 | Option("ms_async_rdma_send_buffers", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
735 | .set_default(1024) | |
736 | .set_description(""), | |
737 | ||
738 | Option("ms_async_rdma_receive_buffers", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
739 | .set_default(1024) | |
740 | .set_description(""), | |
741 | ||
742 | Option("ms_async_rdma_port_num", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
743 | .set_default(1) | |
744 | .set_description(""), | |
745 | ||
746 | Option("ms_async_rdma_polling_us", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
747 | .set_default(1000) | |
748 | .set_description(""), | |
749 | ||
750 | Option("ms_async_rdma_local_gid", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
751 | .set_default("") | |
752 | .set_description(""), | |
753 | ||
754 | Option("ms_async_rdma_roce_ver", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
755 | .set_default(1) | |
756 | .set_description(""), | |
757 | ||
758 | Option("ms_async_rdma_sl", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
759 | .set_default(3) | |
760 | .set_description(""), | |
761 | ||
762 | Option("ms_async_rdma_dscp", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
763 | .set_default(96) | |
764 | .set_description(""), | |
765 | ||
766 | Option("ms_dpdk_port_id", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
767 | .set_default(0) | |
768 | .set_description(""), | |
769 | ||
770 | Option("ms_dpdk_coremask", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
771 | .set_default("1") | |
772 | .set_description("") | |
773 | .set_safe(), | |
774 | ||
775 | Option("ms_dpdk_memory_channel", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
776 | .set_default("4") | |
777 | .set_description(""), | |
778 | ||
779 | Option("ms_dpdk_hugepages", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
780 | .set_default("") | |
781 | .set_description(""), | |
782 | ||
783 | Option("ms_dpdk_pmd", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
784 | .set_default("") | |
785 | .set_description(""), | |
786 | ||
787 | Option("ms_dpdk_host_ipv4_addr", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
788 | .set_default("") | |
789 | .set_description("") | |
790 | .set_safe(), | |
791 | ||
792 | Option("ms_dpdk_gateway_ipv4_addr", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
793 | .set_default("") | |
794 | .set_description("") | |
795 | .set_safe(), | |
796 | ||
797 | Option("ms_dpdk_netmask_ipv4_addr", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
798 | .set_default("") | |
799 | .set_description("") | |
800 | .set_safe(), | |
c07f9fc5 | 801 | |
d2e6a577 FG |
802 | Option("ms_dpdk_lro", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
803 | .set_default(true) | |
804 | .set_description(""), | |
c07f9fc5 | 805 | |
d2e6a577 FG |
806 | Option("ms_dpdk_hw_flow_control", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
807 | .set_default(true) | |
808 | .set_description(""), | |
c07f9fc5 | 809 | |
d2e6a577 FG |
810 | Option("ms_dpdk_hw_queue_weight", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
811 | .set_default(1) | |
812 | .set_description(""), | |
c07f9fc5 | 813 | |
d2e6a577 FG |
814 | Option("ms_dpdk_debug_allow_loopback", Option::TYPE_BOOL, Option::LEVEL_DEV) |
815 | .set_default(false) | |
816 | .set_description(""), | |
c07f9fc5 | 817 | |
d2e6a577 FG |
818 | Option("ms_dpdk_rx_buffer_count_per_core", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
819 | .set_default(8192) | |
820 | .set_description(""), | |
c07f9fc5 | 821 | |
d2e6a577 FG |
822 | Option("inject_early_sigterm", Option::TYPE_BOOL, Option::LEVEL_DEV) |
823 | .set_default(false) | |
824 | .set_description(""), | |
c07f9fc5 | 825 | |
d2e6a577 FG |
826 | Option("mon_data", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
827 | .set_default("/var/lib/ceph/mon/$cluster-$id") | |
828 | .set_description(""), | |
c07f9fc5 | 829 | |
d2e6a577 FG |
830 | Option("mon_initial_members", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
831 | .set_default("") | |
832 | .set_description(""), | |
c07f9fc5 | 833 | |
d2e6a577 FG |
834 | Option("mon_compact_on_start", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
835 | .set_default(false) | |
836 | .set_description(""), | |
c07f9fc5 | 837 | |
d2e6a577 FG |
838 | Option("mon_compact_on_bootstrap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
839 | .set_default(false) | |
840 | .set_description(""), | |
c07f9fc5 | 841 | |
d2e6a577 FG |
842 | Option("mon_compact_on_trim", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
843 | .set_default(true) | |
844 | .set_description(""), | |
c07f9fc5 | 845 | |
d2e6a577 FG |
846 | Option("mon_osd_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
847 | .set_default(10) | |
848 | .set_description(""), | |
c07f9fc5 | 849 | |
d2e6a577 FG |
850 | Option("mon_cpu_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
851 | .set_default(4) | |
852 | .set_description(""), | |
c07f9fc5 | 853 | |
d2e6a577 FG |
854 | Option("mon_osd_mapping_pgs_per_chunk", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
855 | .set_default(4096) | |
856 | .set_description(""), | |
c07f9fc5 | 857 | |
d2e6a577 FG |
858 | Option("mon_osd_max_creating_pgs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
859 | .set_default(1024) | |
860 | .set_description(""), | |
c07f9fc5 | 861 | |
d2e6a577 FG |
862 | Option("mon_tick_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
863 | .set_default(5) | |
864 | .set_description(""), | |
c07f9fc5 | 865 | |
d2e6a577 FG |
866 | Option("mon_session_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
867 | .set_default(300) | |
868 | .set_description(""), | |
c07f9fc5 | 869 | |
d2e6a577 FG |
870 | Option("mon_subscribe_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
871 | .set_default(24*3600) | |
872 | .set_description(""), | |
c07f9fc5 | 873 | |
d2e6a577 FG |
874 | Option("mon_delta_reset_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
875 | .set_default(10) | |
876 | .set_description(""), | |
c07f9fc5 | 877 | |
d2e6a577 FG |
878 | Option("mon_osd_laggy_halflife", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
879 | .set_default(60*60) | |
880 | .set_description(""), | |
c07f9fc5 | 881 | |
d2e6a577 FG |
882 | Option("mon_osd_laggy_weight", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
883 | .set_default(.3) | |
884 | .set_description(""), | |
c07f9fc5 | 885 | |
d2e6a577 FG |
886 | Option("mon_osd_laggy_max_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
887 | .set_default(300) | |
888 | .set_description(""), | |
c07f9fc5 | 889 | |
d2e6a577 FG |
890 | Option("mon_osd_adjust_heartbeat_grace", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
891 | .set_default(true) | |
892 | .set_description(""), | |
c07f9fc5 | 893 | |
d2e6a577 FG |
894 | Option("mon_osd_adjust_down_out_interval", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
895 | .set_default(true) | |
896 | .set_description(""), | |
c07f9fc5 | 897 | |
d2e6a577 FG |
898 | Option("mon_osd_auto_mark_in", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
899 | .set_default(false) | |
900 | .set_description(""), | |
c07f9fc5 | 901 | |
d2e6a577 FG |
902 | Option("mon_osd_auto_mark_auto_out_in", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
903 | .set_default(true) | |
904 | .set_description(""), | |
c07f9fc5 | 905 | |
d2e6a577 FG |
906 | Option("mon_osd_auto_mark_new_in", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
907 | .set_default(true) | |
908 | .set_description(""), | |
c07f9fc5 | 909 | |
d2e6a577 FG |
910 | Option("mon_osd_destroyed_out_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
911 | .set_default(600) | |
912 | .set_description(""), | |
c07f9fc5 | 913 | |
d2e6a577 FG |
914 | Option("mon_osd_down_out_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
915 | .set_default(600) | |
916 | .set_description(""), | |
c07f9fc5 | 917 | |
d2e6a577 FG |
918 | Option("mon_osd_down_out_subtree_limit", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
919 | .set_default("rack") | |
920 | .set_description(""), | |
c07f9fc5 | 921 | |
d2e6a577 FG |
922 | Option("mon_osd_min_up_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
923 | .set_default(.3) | |
924 | .set_description(""), | |
c07f9fc5 | 925 | |
d2e6a577 FG |
926 | Option("mon_osd_min_in_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
927 | .set_default(.75) | |
928 | .set_description(""), | |
c07f9fc5 | 929 | |
d2e6a577 FG |
930 | Option("mon_osd_warn_op_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
931 | .set_default(32) | |
932 | .set_description(""), | |
c07f9fc5 | 933 | |
d2e6a577 FG |
934 | Option("mon_osd_err_op_age_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
935 | .set_default(128) | |
936 | .set_description(""), | |
c07f9fc5 | 937 | |
d2e6a577 FG |
938 | Option("mon_osd_max_split_count", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
939 | .set_default(32) | |
940 | .set_description(""), | |
c07f9fc5 | 941 | |
d2e6a577 FG |
942 | Option("mon_osd_allow_primary_temp", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
943 | .set_default(false) | |
944 | .set_description(""), | |
c07f9fc5 | 945 | |
d2e6a577 FG |
946 | Option("mon_osd_allow_primary_affinity", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
947 | .set_default(false) | |
948 | .set_description(""), | |
c07f9fc5 | 949 | |
d2e6a577 FG |
950 | Option("mon_osd_prime_pg_temp", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
951 | .set_default(true) | |
952 | .set_description(""), | |
c07f9fc5 | 953 | |
d2e6a577 FG |
954 | Option("mon_osd_prime_pg_temp_max_time", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
955 | .set_default(.5) | |
956 | .set_description(""), | |
c07f9fc5 | 957 | |
d2e6a577 FG |
958 | Option("mon_osd_prime_pg_temp_max_estimate", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
959 | .set_default(.25) | |
960 | .set_description(""), | |
c07f9fc5 | 961 | |
d2e6a577 FG |
962 | Option("mon_osd_pool_ec_fast_read", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
963 | .set_default(false) | |
964 | .set_description(""), | |
c07f9fc5 | 965 | |
d2e6a577 FG |
966 | Option("mon_stat_smooth_intervals", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
967 | .set_default(6) | |
968 | .set_description(""), | |
c07f9fc5 | 969 | |
d2e6a577 FG |
970 | Option("mon_election_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
971 | .set_default(5) | |
972 | .set_description(""), | |
c07f9fc5 | 973 | |
d2e6a577 FG |
974 | Option("mon_lease", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
975 | .set_default(5) | |
976 | .set_description(""), | |
c07f9fc5 | 977 | |
d2e6a577 FG |
978 | Option("mon_lease_renew_interval_factor", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
979 | .set_default(.6) | |
980 | .set_description(""), | |
c07f9fc5 | 981 | |
d2e6a577 FG |
982 | Option("mon_lease_ack_timeout_factor", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
983 | .set_default(2.0) | |
984 | .set_description(""), | |
c07f9fc5 | 985 | |
d2e6a577 FG |
986 | Option("mon_accept_timeout_factor", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
987 | .set_default(2.0) | |
988 | .set_description(""), | |
c07f9fc5 | 989 | |
d2e6a577 FG |
990 | Option("mon_clock_drift_allowed", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
991 | .set_default(.050) | |
992 | .set_description(""), | |
c07f9fc5 | 993 | |
d2e6a577 FG |
994 | Option("mon_clock_drift_warn_backoff", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
995 | .set_default(5) | |
996 | .set_description(""), | |
c07f9fc5 | 997 | |
d2e6a577 FG |
998 | Option("mon_timecheck_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
999 | .set_default(300.0) | |
1000 | .set_description(""), | |
c07f9fc5 | 1001 | |
d2e6a577 FG |
1002 | Option("mon_timecheck_skew_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1003 | .set_default(30.0) | |
1004 | .set_description(""), | |
c07f9fc5 | 1005 | |
d2e6a577 FG |
1006 | Option("mon_pg_stuck_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1007 | .set_default(60) | |
1008 | .set_description(""), | |
c07f9fc5 | 1009 | |
d2e6a577 FG |
1010 | Option("mon_pg_min_inactive", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1011 | .set_default(1) | |
1012 | .set_description(""), | |
c07f9fc5 | 1013 | |
d2e6a577 FG |
1014 | Option("mon_pg_warn_min_per_osd", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1015 | .set_default(30) | |
1016 | .set_description(""), | |
c07f9fc5 | 1017 | |
d2e6a577 FG |
1018 | Option("mon_pg_warn_max_per_osd", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1019 | .set_default(300) | |
1020 | .set_description(""), | |
c07f9fc5 | 1021 | |
d2e6a577 FG |
1022 | Option("mon_pg_warn_max_object_skew", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1023 | .set_default(10.0) | |
1024 | .set_description(""), | |
c07f9fc5 | 1025 | |
d2e6a577 FG |
1026 | Option("mon_pg_warn_min_objects", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1027 | .set_default(10000) | |
1028 | .set_description(""), | |
c07f9fc5 | 1029 | |
d2e6a577 FG |
1030 | Option("mon_pg_warn_min_pool_objects", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1031 | .set_default(1000) | |
1032 | .set_description(""), | |
c07f9fc5 | 1033 | |
d2e6a577 FG |
1034 | Option("mon_pg_check_down_all_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1035 | .set_default(.5) | |
1036 | .set_description(""), | |
c07f9fc5 | 1037 | |
d2e6a577 FG |
1038 | Option("mon_cache_target_full_warn_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1039 | .set_default(.66) | |
1040 | .set_description(""), | |
c07f9fc5 | 1041 | |
d2e6a577 FG |
1042 | Option("mon_osd_full_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1043 | .set_default(.95) | |
1044 | .set_description(""), | |
c07f9fc5 | 1045 | |
d2e6a577 FG |
1046 | Option("mon_osd_backfillfull_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1047 | .set_default(.90) | |
1048 | .set_description(""), | |
c07f9fc5 | 1049 | |
d2e6a577 FG |
1050 | Option("mon_osd_nearfull_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1051 | .set_default(.85) | |
1052 | .set_description(""), | |
c07f9fc5 | 1053 | |
d2e6a577 FG |
1054 | Option("mon_osd_initial_require_min_compat_client", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1055 | .set_default("jewel") | |
1056 | .set_description(""), | |
c07f9fc5 | 1057 | |
d2e6a577 FG |
1058 | Option("mon_allow_pool_delete", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1059 | .set_default(false) | |
1060 | .set_description(""), | |
c07f9fc5 | 1061 | |
d2e6a577 FG |
1062 | Option("mon_fake_pool_delete", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1063 | .set_default(false) | |
1064 | .set_description(""), | |
c07f9fc5 | 1065 | |
d2e6a577 FG |
1066 | Option("mon_globalid_prealloc", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1067 | .set_default(10000) | |
1068 | .set_description(""), | |
c07f9fc5 | 1069 | |
d2e6a577 FG |
1070 | Option("mon_osd_report_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1071 | .set_default(900) | |
1072 | .set_description(""), | |
c07f9fc5 | 1073 | |
d2e6a577 FG |
1074 | Option("mon_force_standby_active", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1075 | .set_default(true) | |
1076 | .set_description(""), | |
c07f9fc5 | 1077 | |
d2e6a577 FG |
1078 | Option("mon_warn_on_legacy_crush_tunables", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1079 | .set_default(true) | |
1080 | .set_description(""), | |
c07f9fc5 | 1081 | |
d2e6a577 FG |
1082 | Option("mon_crush_min_required_version", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1083 | .set_default("firefly") | |
1084 | .set_description(""), | |
c07f9fc5 | 1085 | |
d2e6a577 FG |
1086 | Option("mon_warn_on_crush_straw_calc_version_zero", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1087 | .set_default(true) | |
1088 | .set_description(""), | |
c07f9fc5 | 1089 | |
d2e6a577 FG |
1090 | Option("mon_warn_on_osd_down_out_interval_zero", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1091 | .set_default(true) | |
1092 | .set_description(""), | |
c07f9fc5 | 1093 | |
d2e6a577 FG |
1094 | Option("mon_warn_on_cache_pools_without_hit_sets", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1095 | .set_default(true) | |
1096 | .set_description(""), | |
c07f9fc5 | 1097 | |
d2e6a577 FG |
1098 | Option("mon_warn_on_pool_no_app", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1099 | .set_default(true) | |
1100 | .set_description("Enable POOL_APP_NOT_ENABLED health check"), | |
c07f9fc5 | 1101 | |
d2e6a577 FG |
1102 | Option("mon_min_osdmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1103 | .set_default(500) | |
1104 | .set_description(""), | |
c07f9fc5 | 1105 | |
d2e6a577 FG |
1106 | Option("mon_max_pgmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1107 | .set_default(500) | |
1108 | .set_description(""), | |
c07f9fc5 | 1109 | |
d2e6a577 FG |
1110 | Option("mon_max_log_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1111 | .set_default(500) | |
1112 | .set_description(""), | |
c07f9fc5 | 1113 | |
d2e6a577 FG |
1114 | Option("mon_max_mdsmap_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1115 | .set_default(500) | |
1116 | .set_description(""), | |
c07f9fc5 | 1117 | |
d2e6a577 FG |
1118 | Option("mon_max_osd", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1119 | .set_default(10000) | |
1120 | .set_description(""), | |
c07f9fc5 | 1121 | |
d2e6a577 FG |
1122 | Option("mon_probe_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1123 | .set_default(2.0) | |
1124 | .set_description(""), | |
c07f9fc5 | 1125 | |
d2e6a577 FG |
1126 | Option("mon_client_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1127 | .set_default(100ul << 20) | |
1128 | .set_description(""), | |
c07f9fc5 | 1129 | |
d2e6a577 FG |
1130 | Option("mon_mgr_proxy_client_bytes_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1131 | .set_default(.3) | |
1132 | .set_description(""), | |
c07f9fc5 | 1133 | |
d2e6a577 FG |
1134 | Option("mon_log_max_summary", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1135 | .set_default(50) | |
1136 | .set_description(""), | |
c07f9fc5 | 1137 | |
d2e6a577 FG |
1138 | Option("mon_daemon_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1139 | .set_default(400ul << 20) | |
1140 | .set_description(""), | |
c07f9fc5 | 1141 | |
d2e6a577 FG |
1142 | Option("mon_max_log_entries_per_event", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1143 | .set_default(4096) | |
1144 | .set_description(""), | |
c07f9fc5 | 1145 | |
d2e6a577 FG |
1146 | Option("mon_reweight_min_pgs_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1147 | .set_default(10) | |
1148 | .set_description(""), | |
c07f9fc5 | 1149 | |
d2e6a577 FG |
1150 | Option("mon_reweight_min_bytes_per_osd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1151 | .set_default(100*1024*1024) | |
1152 | .set_description(""), | |
c07f9fc5 | 1153 | |
d2e6a577 FG |
1154 | Option("mon_reweight_max_osds", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1155 | .set_default(4) | |
1156 | .set_description(""), | |
c07f9fc5 | 1157 | |
d2e6a577 FG |
1158 | Option("mon_reweight_max_change", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1159 | .set_default(0.05) | |
1160 | .set_description(""), | |
c07f9fc5 | 1161 | |
d2e6a577 FG |
1162 | Option("mon_health_data_update_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1163 | .set_default(60.0) | |
1164 | .set_description(""), | |
c07f9fc5 | 1165 | |
d2e6a577 FG |
1166 | Option("mon_health_to_clog", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1167 | .set_default(true) | |
1168 | .set_description(""), | |
c07f9fc5 | 1169 | |
d2e6a577 FG |
1170 | Option("mon_health_to_clog_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1171 | .set_default(3600) | |
1172 | .set_description(""), | |
c07f9fc5 | 1173 | |
d2e6a577 FG |
1174 | Option("mon_health_to_clog_tick_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1175 | .set_default(60.0) | |
1176 | .set_description(""), | |
c07f9fc5 | 1177 | |
d2e6a577 FG |
1178 | Option("mon_health_preluminous_compat", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1179 | .set_default(false) | |
1180 | .set_description("Include health warnings in preluminous JSON fields"), | |
c07f9fc5 | 1181 | |
d2e6a577 FG |
1182 | Option("mon_health_preluminous_compat_warning", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1183 | .set_default(true) | |
1184 | .set_description("Warn about the health JSON format change in preluminous JSON fields"), | |
c07f9fc5 | 1185 | |
d2e6a577 FG |
1186 | Option("mon_health_max_detail", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1187 | .set_default(50) | |
1188 | .set_description(""), | |
c07f9fc5 | 1189 | |
181888fb FG |
1190 | Option("mon_health_log_update_period", Option::TYPE_INT, Option::LEVEL_DEV) |
1191 | .set_default(5) | |
1192 | .set_description("Minimum time in seconds between log messages about " | |
1193 | "each health check") | |
1194 | .set_min(0), | |
1195 | ||
d2e6a577 FG |
1196 | Option("mon_data_avail_crit", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1197 | .set_default(5) | |
1198 | .set_description(""), | |
c07f9fc5 | 1199 | |
d2e6a577 FG |
1200 | Option("mon_data_avail_warn", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1201 | .set_default(30) | |
1202 | .set_description(""), | |
c07f9fc5 | 1203 | |
d2e6a577 FG |
1204 | Option("mon_data_size_warn", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1205 | .set_default(15ull*1024*1024*1024) | |
1206 | .set_description(""), | |
c07f9fc5 | 1207 | |
d2e6a577 FG |
1208 | Option("mon_warn_not_scrubbed", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1209 | .set_default(0) | |
1210 | .set_description(""), | |
c07f9fc5 | 1211 | |
d2e6a577 FG |
1212 | Option("mon_warn_not_deep_scrubbed", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1213 | .set_default(0) | |
1214 | .set_description(""), | |
c07f9fc5 | 1215 | |
d2e6a577 FG |
1216 | Option("mon_scrub_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1217 | .set_default(3600*24) | |
1218 | .set_description(""), | |
c07f9fc5 | 1219 | |
d2e6a577 FG |
1220 | Option("mon_scrub_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1221 | .set_default(60*5) | |
1222 | .set_description(""), | |
c07f9fc5 | 1223 | |
d2e6a577 FG |
1224 | Option("mon_scrub_max_keys", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1225 | .set_default(100) | |
1226 | .set_description(""), | |
c07f9fc5 | 1227 | |
d2e6a577 FG |
1228 | Option("mon_scrub_inject_crc_mismatch", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
1229 | .set_default(0.0) | |
1230 | .set_description(""), | |
c07f9fc5 | 1231 | |
d2e6a577 FG |
1232 | Option("mon_scrub_inject_missing_keys", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
1233 | .set_default(0.0) | |
1234 | .set_description(""), | |
c07f9fc5 | 1235 | |
d2e6a577 FG |
1236 | Option("mon_config_key_max_entry_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1237 | .set_default(4096) | |
1238 | .set_description(""), | |
c07f9fc5 | 1239 | |
d2e6a577 FG |
1240 | Option("mon_sync_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1241 | .set_default(60.0) | |
1242 | .set_description(""), | |
c07f9fc5 | 1243 | |
d2e6a577 FG |
1244 | Option("mon_sync_max_payload_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1245 | .set_default(1048576) | |
1246 | .set_description(""), | |
c07f9fc5 | 1247 | |
d2e6a577 FG |
1248 | Option("mon_sync_debug", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1249 | .set_default(false) | |
1250 | .set_description(""), | |
c07f9fc5 | 1251 | |
d2e6a577 FG |
1252 | Option("mon_inject_sync_get_chunk_delay", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
1253 | .set_default(0) | |
1254 | .set_description(""), | |
c07f9fc5 | 1255 | |
d2e6a577 FG |
1256 | Option("mon_osd_min_down_reporters", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1257 | .set_default(2) | |
1258 | .set_description(""), | |
c07f9fc5 | 1259 | |
d2e6a577 FG |
1260 | Option("mon_osd_reporter_subtree_level", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1261 | .set_default("host") | |
1262 | .set_description(""), | |
c07f9fc5 | 1263 | |
d2e6a577 FG |
1264 | Option("mon_osd_force_trim_to", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1265 | .set_default(0) | |
1266 | .set_description(""), | |
c07f9fc5 | 1267 | |
d2e6a577 FG |
1268 | Option("mon_mds_force_trim_to", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1269 | .set_default(0) | |
1270 | .set_description(""), | |
c07f9fc5 | 1271 | |
d2e6a577 FG |
1272 | Option("mon_mds_skip_sanity", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1273 | .set_default(false) | |
1274 | .set_description(""), | |
c07f9fc5 | 1275 | |
d2e6a577 FG |
1276 | Option("mon_debug_deprecated_as_obsolete", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1277 | .set_default(false) | |
1278 | .set_description(""), | |
c07f9fc5 | 1279 | |
d2e6a577 FG |
1280 | Option("mon_debug_dump_transactions", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1281 | .set_default(false) | |
1282 | .set_description(""), | |
c07f9fc5 | 1283 | |
d2e6a577 FG |
1284 | Option("mon_debug_dump_json", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1285 | .set_default(false) | |
1286 | .set_description(""), | |
c07f9fc5 | 1287 | |
d2e6a577 FG |
1288 | Option("mon_debug_dump_location", Option::TYPE_STR, Option::LEVEL_DEV) |
1289 | .set_default("/var/log/ceph/$cluster-$name.tdump") | |
1290 | .set_description(""), | |
c07f9fc5 | 1291 | |
d2e6a577 FG |
1292 | Option("mon_debug_no_require_luminous", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1293 | .set_default(false) | |
1294 | .set_description(""), | |
c07f9fc5 | 1295 | |
d2e6a577 FG |
1296 | Option("mon_debug_no_require_bluestore_for_ec_overwrites", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1297 | .set_default(false) | |
1298 | .set_description(""), | |
c07f9fc5 | 1299 | |
d2e6a577 FG |
1300 | Option("mon_debug_no_initial_persistent_features", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1301 | .set_default(false) | |
1302 | .set_description(""), | |
c07f9fc5 | 1303 | |
d2e6a577 FG |
1304 | Option("mon_inject_transaction_delay_max", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
1305 | .set_default(10.0) | |
1306 | .set_description(""), | |
c07f9fc5 | 1307 | |
d2e6a577 FG |
1308 | Option("mon_inject_transaction_delay_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
1309 | .set_default(0) | |
1310 | .set_description(""), | |
c07f9fc5 | 1311 | |
d2e6a577 FG |
1312 | Option("mon_sync_provider_kill_at", Option::TYPE_INT, Option::LEVEL_DEV) |
1313 | .set_default(0) | |
1314 | .set_description(""), | |
c07f9fc5 | 1315 | |
d2e6a577 FG |
1316 | Option("mon_sync_requester_kill_at", Option::TYPE_INT, Option::LEVEL_DEV) |
1317 | .set_default(0) | |
1318 | .set_description(""), | |
c07f9fc5 | 1319 | |
d2e6a577 FG |
1320 | Option("mon_force_quorum_join", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1321 | .set_default(false) | |
1322 | .set_description(""), | |
c07f9fc5 | 1323 | |
d2e6a577 FG |
1324 | Option("mon_keyvaluedb", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1325 | .set_default("rocksdb") | |
1326 | .set_description(""), | |
c07f9fc5 | 1327 | |
d2e6a577 FG |
1328 | Option("mon_debug_unsafe_allow_tier_with_nonempty_snaps", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1329 | .set_default(false) | |
1330 | .set_description(""), | |
c07f9fc5 | 1331 | |
d2e6a577 FG |
1332 | Option("mon_osd_blacklist_default_expire", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1333 | .set_default(60*60) | |
1334 | .set_description(""), | |
c07f9fc5 | 1335 | |
d2e6a577 FG |
1336 | Option("mon_osd_crush_smoke_test", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1337 | .set_default(true) | |
1338 | .set_description(""), | |
c07f9fc5 | 1339 | |
d2e6a577 FG |
1340 | Option("paxos_stash_full_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1341 | .set_default(25) | |
1342 | .set_description(""), | |
c07f9fc5 | 1343 | |
d2e6a577 FG |
1344 | Option("paxos_max_join_drift", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1345 | .set_default(10) | |
1346 | .set_description(""), | |
c07f9fc5 | 1347 | |
d2e6a577 FG |
1348 | Option("paxos_propose_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1349 | .set_default(1.0) | |
1350 | .set_description(""), | |
c07f9fc5 | 1351 | |
d2e6a577 FG |
1352 | Option("paxos_min_wait", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1353 | .set_default(0.05) | |
1354 | .set_description(""), | |
c07f9fc5 | 1355 | |
d2e6a577 FG |
1356 | Option("paxos_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1357 | .set_default(500) | |
1358 | .set_description(""), | |
c07f9fc5 | 1359 | |
d2e6a577 FG |
1360 | Option("paxos_trim_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1361 | .set_default(250) | |
1362 | .set_description(""), | |
c07f9fc5 | 1363 | |
d2e6a577 FG |
1364 | Option("paxos_trim_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1365 | .set_default(500) | |
1366 | .set_description(""), | |
c07f9fc5 | 1367 | |
d2e6a577 FG |
1368 | Option("paxos_service_trim_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1369 | .set_default(250) | |
1370 | .set_description(""), | |
c07f9fc5 | 1371 | |
d2e6a577 FG |
1372 | Option("paxos_service_trim_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1373 | .set_default(500) | |
1374 | .set_description(""), | |
c07f9fc5 | 1375 | |
d2e6a577 FG |
1376 | Option("paxos_kill_at", Option::TYPE_INT, Option::LEVEL_DEV) |
1377 | .set_default(0) | |
1378 | .set_description(""), | |
c07f9fc5 | 1379 | |
d2e6a577 FG |
1380 | Option("auth_cluster_required", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1381 | .set_default("cephx") | |
1382 | .set_description(""), | |
c07f9fc5 | 1383 | |
d2e6a577 FG |
1384 | Option("auth_service_required", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1385 | .set_default("cephx") | |
1386 | .set_description(""), | |
c07f9fc5 | 1387 | |
d2e6a577 FG |
1388 | Option("auth_client_required", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1389 | .set_default("cephx, none") | |
1390 | .set_description(""), | |
c07f9fc5 | 1391 | |
d2e6a577 FG |
1392 | Option("auth_supported", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1393 | .set_default("") | |
1394 | .set_description(""), | |
c07f9fc5 | 1395 | |
d2e6a577 FG |
1396 | Option("max_rotating_auth_attempts", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1397 | .set_default(10) | |
1398 | .set_description(""), | |
c07f9fc5 | 1399 | |
d2e6a577 FG |
1400 | Option("cephx_require_signatures", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1401 | .set_default(false) | |
1402 | .set_description(""), | |
c07f9fc5 | 1403 | |
d2e6a577 FG |
1404 | Option("cephx_cluster_require_signatures", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1405 | .set_default(false) | |
1406 | .set_description(""), | |
c07f9fc5 | 1407 | |
d2e6a577 FG |
1408 | Option("cephx_service_require_signatures", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1409 | .set_default(false) | |
1410 | .set_description(""), | |
c07f9fc5 | 1411 | |
d2e6a577 FG |
1412 | Option("cephx_sign_messages", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1413 | .set_default(true) | |
1414 | .set_description(""), | |
c07f9fc5 | 1415 | |
d2e6a577 FG |
1416 | Option("auth_mon_ticket_ttl", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1417 | .set_default(60*60*12) | |
1418 | .set_description(""), | |
c07f9fc5 | 1419 | |
d2e6a577 FG |
1420 | Option("auth_service_ticket_ttl", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1421 | .set_default(60*60) | |
1422 | .set_description(""), | |
c07f9fc5 | 1423 | |
d2e6a577 FG |
1424 | Option("auth_debug", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1425 | .set_default(false) | |
1426 | .set_description(""), | |
c07f9fc5 | 1427 | |
d2e6a577 FG |
1428 | Option("mon_client_hunt_parallel", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1429 | .set_default(2) | |
1430 | .set_description(""), | |
c07f9fc5 | 1431 | |
d2e6a577 FG |
1432 | Option("mon_client_hunt_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1433 | .set_default(3.0) | |
1434 | .set_description(""), | |
c07f9fc5 | 1435 | |
d2e6a577 FG |
1436 | Option("mon_client_ping_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1437 | .set_default(10.0) | |
1438 | .set_description(""), | |
c07f9fc5 | 1439 | |
d2e6a577 FG |
1440 | Option("mon_client_ping_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1441 | .set_default(30.0) | |
1442 | .set_description(""), | |
c07f9fc5 | 1443 | |
d2e6a577 FG |
1444 | Option("mon_client_hunt_interval_backoff", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1445 | .set_default(2.0) | |
1446 | .set_description(""), | |
c07f9fc5 | 1447 | |
d2e6a577 FG |
1448 | Option("mon_client_hunt_interval_min_multiple", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1449 | .set_default(1.0) | |
1450 | .set_description(""), | |
c07f9fc5 | 1451 | |
d2e6a577 FG |
1452 | Option("mon_client_hunt_interval_max_multiple", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1453 | .set_default(10.0) | |
1454 | .set_description(""), | |
c07f9fc5 | 1455 | |
d2e6a577 FG |
1456 | Option("mon_client_max_log_entries_per_message", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1457 | .set_default(1000) | |
1458 | .set_description(""), | |
c07f9fc5 | 1459 | |
d2e6a577 FG |
1460 | Option("mon_max_pool_pg_num", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1461 | .set_default(65536) | |
1462 | .set_description(""), | |
c07f9fc5 | 1463 | |
d2e6a577 FG |
1464 | Option("mon_pool_quota_warn_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1465 | .set_default(0) | |
1466 | .set_description(""), | |
c07f9fc5 | 1467 | |
d2e6a577 FG |
1468 | Option("mon_pool_quota_crit_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1469 | .set_default(0) | |
1470 | .set_description(""), | |
c07f9fc5 | 1471 | |
d2e6a577 FG |
1472 | Option("crush_location", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1473 | .set_default("") | |
1474 | .set_description(""), | |
c07f9fc5 | 1475 | |
d2e6a577 FG |
1476 | Option("crush_location_hook", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1477 | .set_default("") | |
1478 | .set_description(""), | |
c07f9fc5 | 1479 | |
d2e6a577 FG |
1480 | Option("crush_location_hook_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1481 | .set_default(10) | |
1482 | .set_description(""), | |
c07f9fc5 | 1483 | |
d2e6a577 FG |
1484 | Option("objecter_tick_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1485 | .set_default(5.0) | |
1486 | .set_description(""), | |
c07f9fc5 | 1487 | |
d2e6a577 FG |
1488 | Option("objecter_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1489 | .set_default(10.0) | |
1490 | .set_description(""), | |
c07f9fc5 | 1491 | |
d2e6a577 FG |
1492 | Option("objecter_inflight_op_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1493 | .set_default(1024*1024*100) | |
1494 | .set_description(""), | |
c07f9fc5 | 1495 | |
d2e6a577 FG |
1496 | Option("objecter_inflight_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1497 | .set_default(1024) | |
1498 | .set_description(""), | |
c07f9fc5 | 1499 | |
d2e6a577 FG |
1500 | Option("objecter_completion_locks_per_session", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1501 | .set_default(32) | |
1502 | .set_description(""), | |
c07f9fc5 | 1503 | |
d2e6a577 FG |
1504 | Option("objecter_inject_no_watch_ping", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1505 | .set_default(false) | |
1506 | .set_description(""), | |
c07f9fc5 | 1507 | |
d2e6a577 FG |
1508 | Option("objecter_retry_writes_after_first_reply", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1509 | .set_default(false) | |
1510 | .set_description(""), | |
c07f9fc5 | 1511 | |
d2e6a577 FG |
1512 | Option("objecter_debug_inject_relock_delay", Option::TYPE_BOOL, Option::LEVEL_DEV) |
1513 | .set_default(false) | |
1514 | .set_description(""), | |
c07f9fc5 | 1515 | |
d2e6a577 FG |
1516 | Option("filer_max_purge_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1517 | .set_default(10) | |
1518 | .set_description(""), | |
c07f9fc5 | 1519 | |
d2e6a577 FG |
1520 | Option("filer_max_truncate_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1521 | .set_default(128) | |
1522 | .set_description(""), | |
c07f9fc5 | 1523 | |
d2e6a577 FG |
1524 | Option("journaler_write_head_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1525 | .set_default(15) | |
1526 | .set_description(""), | |
c07f9fc5 | 1527 | |
d2e6a577 FG |
1528 | Option("journaler_prefetch_periods", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1529 | .set_default(10) | |
1530 | .set_description(""), | |
c07f9fc5 | 1531 | |
d2e6a577 FG |
1532 | Option("journaler_prezero_periods", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1533 | .set_default(5) | |
1534 | .set_description(""), | |
c07f9fc5 | 1535 | |
d2e6a577 FG |
1536 | Option("osd_check_max_object_name_len_on_startup", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1537 | .set_default(true) | |
1538 | .set_description(""), | |
c07f9fc5 | 1539 | |
d2e6a577 FG |
1540 | Option("osd_max_backfills", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1541 | .set_default(1) | |
1542 | .set_description(""), | |
c07f9fc5 | 1543 | |
d2e6a577 FG |
1544 | Option("osd_min_recovery_priority", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1545 | .set_default(0) | |
1546 | .set_description(""), | |
c07f9fc5 | 1547 | |
d2e6a577 FG |
1548 | Option("osd_backfill_retry_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1549 | .set_default(30.0) | |
1550 | .set_description(""), | |
c07f9fc5 | 1551 | |
d2e6a577 FG |
1552 | Option("osd_recovery_retry_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1553 | .set_default(30.0) | |
1554 | .set_description(""), | |
c07f9fc5 | 1555 | |
d2e6a577 FG |
1556 | Option("osd_agent_max_ops", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1557 | .set_default(4) | |
1558 | .set_description(""), | |
c07f9fc5 | 1559 | |
d2e6a577 FG |
1560 | Option("osd_agent_max_low_ops", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1561 | .set_default(2) | |
1562 | .set_description(""), | |
c07f9fc5 | 1563 | |
d2e6a577 FG |
1564 | Option("osd_agent_min_evict_effort", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1565 | .set_default(.1) | |
1566 | .set_description(""), | |
c07f9fc5 | 1567 | |
d2e6a577 FG |
1568 | Option("osd_agent_quantize_effort", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1569 | .set_default(.1) | |
1570 | .set_description(""), | |
c07f9fc5 | 1571 | |
d2e6a577 FG |
1572 | Option("osd_agent_delay_time", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1573 | .set_default(5.0) | |
1574 | .set_description(""), | |
c07f9fc5 | 1575 | |
d2e6a577 FG |
1576 | Option("osd_find_best_info_ignore_history_les", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1577 | .set_default(false) | |
1578 | .set_description(""), | |
c07f9fc5 | 1579 | |
d2e6a577 FG |
1580 | Option("osd_agent_hist_halflife", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1581 | .set_default(1000) | |
1582 | .set_description(""), | |
c07f9fc5 | 1583 | |
d2e6a577 FG |
1584 | Option("osd_agent_slop", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1585 | .set_default(.02) | |
1586 | .set_description(""), | |
c07f9fc5 | 1587 | |
d2e6a577 FG |
1588 | Option("osd_uuid", Option::TYPE_UUID, Option::LEVEL_ADVANCED) |
1589 | .set_default(uuid_d()) | |
1590 | .set_description(""), | |
c07f9fc5 | 1591 | |
d2e6a577 FG |
1592 | Option("osd_data", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1593 | .set_default("/var/lib/ceph/osd/$cluster-$id") | |
1594 | .set_description(""), | |
c07f9fc5 | 1595 | |
d2e6a577 FG |
1596 | Option("osd_journal", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1597 | .set_default("/var/lib/ceph/osd/$cluster-$id/journal") | |
1598 | .set_description(""), | |
c07f9fc5 | 1599 | |
d2e6a577 FG |
1600 | Option("osd_journal_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1601 | .set_default(5120) | |
1602 | .set_description(""), | |
c07f9fc5 | 1603 | |
d2e6a577 FG |
1604 | Option("osd_journal_flush_on_shutdown", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1605 | .set_default(true) | |
1606 | .set_description(""), | |
c07f9fc5 | 1607 | |
d2e6a577 FG |
1608 | Option("osd_os_flags", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1609 | .set_default(0) | |
1610 | .set_description(""), | |
c07f9fc5 | 1611 | |
d2e6a577 FG |
1612 | Option("osd_max_write_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1613 | .set_default(90) | |
1614 | .set_description(""), | |
c07f9fc5 | 1615 | |
d2e6a577 FG |
1616 | Option("osd_max_pgls", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1617 | .set_default(1024) | |
1618 | .set_description(""), | |
c07f9fc5 | 1619 | |
d2e6a577 FG |
1620 | Option("osd_client_message_size_cap", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1621 | .set_default(500*1024L*1024L) | |
1622 | .set_description(""), | |
c07f9fc5 | 1623 | |
d2e6a577 FG |
1624 | Option("osd_client_message_cap", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1625 | .set_default(100) | |
1626 | .set_description(""), | |
c07f9fc5 | 1627 | |
d2e6a577 FG |
1628 | Option("osd_pg_bits", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1629 | .set_default(6) | |
1630 | .set_description(""), | |
c07f9fc5 | 1631 | |
d2e6a577 FG |
1632 | Option("osd_pgp_bits", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1633 | .set_default(6) | |
1634 | .set_description(""), | |
c07f9fc5 | 1635 | |
d2e6a577 FG |
1636 | Option("osd_crush_update_weight_set", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1637 | .set_default(true) | |
1638 | .set_description(""), | |
c07f9fc5 | 1639 | |
d2e6a577 FG |
1640 | Option("osd_crush_chooseleaf_type", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1641 | .set_default(1) | |
1642 | .set_description(""), | |
c07f9fc5 | 1643 | |
d2e6a577 FG |
1644 | Option("osd_pool_use_gmt_hitset", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1645 | .set_default(true) | |
1646 | .set_description(""), | |
c07f9fc5 | 1647 | |
d2e6a577 FG |
1648 | Option("osd_crush_update_on_start", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1649 | .set_default(true) | |
1650 | .set_description(""), | |
c07f9fc5 | 1651 | |
d2e6a577 FG |
1652 | Option("osd_class_update_on_start", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1653 | .set_default(true) | |
1654 | .set_description(""), | |
c07f9fc5 | 1655 | |
d2e6a577 FG |
1656 | Option("osd_crush_initial_weight", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1657 | .set_default(-1) | |
1658 | .set_description(""), | |
c07f9fc5 | 1659 | |
d2e6a577 FG |
1660 | Option("osd_pool_default_crush_rule", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1661 | .set_default(-1) | |
1662 | .set_description(""), | |
c07f9fc5 | 1663 | |
d2e6a577 FG |
1664 | Option("osd_pool_erasure_code_stripe_unit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1665 | .set_default(4096) | |
1666 | .set_description(""), | |
c07f9fc5 | 1667 | |
d2e6a577 FG |
1668 | Option("osd_pool_default_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1669 | .set_default(3) | |
1670 | .set_description(""), | |
c07f9fc5 | 1671 | |
d2e6a577 FG |
1672 | Option("osd_pool_default_min_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1673 | .set_default(0) | |
1674 | .set_description(""), | |
c07f9fc5 | 1675 | |
d2e6a577 FG |
1676 | Option("osd_pool_default_pg_num", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1677 | .set_default(8) | |
1678 | .set_description(""), | |
c07f9fc5 | 1679 | |
d2e6a577 FG |
1680 | Option("osd_pool_default_pgp_num", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1681 | .set_default(8) | |
1682 | .set_description(""), | |
c07f9fc5 | 1683 | |
d2e6a577 FG |
1684 | Option("osd_pool_default_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1685 | .set_default("replicated") | |
1686 | .set_description(""), | |
c07f9fc5 | 1687 | |
d2e6a577 FG |
1688 | Option("osd_pool_default_erasure_code_profile", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1689 | .set_default("plugin=jerasure technique=reed_sol_van k=2 m=1") | |
1690 | .set_description(""), | |
c07f9fc5 | 1691 | |
d2e6a577 FG |
1692 | Option("osd_erasure_code_plugins", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1693 | .set_default("jerasure lrc" | |
1694 | #ifdef HAVE_BETTER_YASM_ELF64 | |
1695 | " isa" | |
1696 | #endif | |
1697 | ) | |
1698 | .set_description(""), | |
c07f9fc5 | 1699 | |
d2e6a577 FG |
1700 | Option("osd_allow_recovery_below_min_size", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1701 | .set_default(true) | |
1702 | .set_description(""), | |
c07f9fc5 | 1703 | |
d2e6a577 FG |
1704 | Option("osd_pool_default_flags", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1705 | .set_default(0) | |
1706 | .set_description(""), | |
c07f9fc5 | 1707 | |
d2e6a577 FG |
1708 | Option("osd_pool_default_flag_hashpspool", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1709 | .set_default(true) | |
1710 | .set_description(""), | |
c07f9fc5 | 1711 | |
d2e6a577 FG |
1712 | Option("osd_pool_default_flag_nodelete", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1713 | .set_default(false) | |
1714 | .set_description(""), | |
c07f9fc5 | 1715 | |
d2e6a577 FG |
1716 | Option("osd_pool_default_flag_nopgchange", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1717 | .set_default(false) | |
1718 | .set_description(""), | |
c07f9fc5 | 1719 | |
d2e6a577 FG |
1720 | Option("osd_pool_default_flag_nosizechange", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1721 | .set_default(false) | |
1722 | .set_description(""), | |
c07f9fc5 | 1723 | |
d2e6a577 FG |
1724 | Option("osd_pool_default_hit_set_bloom_fpp", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1725 | .set_default(.05) | |
1726 | .set_description(""), | |
c07f9fc5 | 1727 | |
d2e6a577 FG |
1728 | Option("osd_pool_default_cache_target_dirty_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1729 | .set_default(.4) | |
1730 | .set_description(""), | |
c07f9fc5 | 1731 | |
d2e6a577 FG |
1732 | Option("osd_pool_default_cache_target_dirty_high_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1733 | .set_default(.6) | |
1734 | .set_description(""), | |
c07f9fc5 | 1735 | |
d2e6a577 FG |
1736 | Option("osd_pool_default_cache_target_full_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
1737 | .set_default(.8) | |
1738 | .set_description(""), | |
c07f9fc5 | 1739 | |
d2e6a577 FG |
1740 | Option("osd_pool_default_cache_min_flush_age", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1741 | .set_default(0) | |
1742 | .set_description(""), | |
c07f9fc5 | 1743 | |
d2e6a577 FG |
1744 | Option("osd_pool_default_cache_min_evict_age", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1745 | .set_default(0) | |
1746 | .set_description(""), | |
c07f9fc5 | 1747 | |
d2e6a577 FG |
1748 | Option("osd_pool_default_cache_max_evict_check_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1749 | .set_default(10) | |
1750 | .set_description(""), | |
c07f9fc5 | 1751 | |
d2e6a577 FG |
1752 | Option("osd_hit_set_min_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1753 | .set_default(1000) | |
1754 | .set_description(""), | |
c07f9fc5 | 1755 | |
d2e6a577 FG |
1756 | Option("osd_hit_set_max_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1757 | .set_default(100000) | |
1758 | .set_description(""), | |
c07f9fc5 | 1759 | |
d2e6a577 FG |
1760 | Option("osd_hit_set_namespace", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1761 | .set_default(".ceph-internal") | |
1762 | .set_description(""), | |
c07f9fc5 | 1763 | |
d2e6a577 FG |
1764 | Option("osd_tier_promote_max_objects_sec", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1765 | .set_default(25) | |
1766 | .set_description(""), | |
c07f9fc5 | 1767 | |
d2e6a577 FG |
1768 | Option("osd_tier_promote_max_bytes_sec", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
1769 | .set_default(5 * 1024*1024) | |
1770 | .set_description(""), | |
c07f9fc5 | 1771 | |
d2e6a577 FG |
1772 | Option("osd_tier_default_cache_mode", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1773 | .set_default("writeback") | |
1774 | .set_description(""), | |
c07f9fc5 | 1775 | |
d2e6a577 FG |
1776 | Option("osd_tier_default_cache_hit_set_count", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1777 | .set_default(4) | |
1778 | .set_description(""), | |
c07f9fc5 | 1779 | |
d2e6a577 FG |
1780 | Option("osd_tier_default_cache_hit_set_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1781 | .set_default(1200) | |
1782 | .set_description(""), | |
c07f9fc5 | 1783 | |
d2e6a577 FG |
1784 | Option("osd_tier_default_cache_hit_set_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
1785 | .set_default("bloom") | |
1786 | .set_description(""), | |
c07f9fc5 | 1787 | |
d2e6a577 FG |
1788 | Option("osd_tier_default_cache_min_read_recency_for_promote", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1789 | .set_default(1) | |
1790 | .set_description(""), | |
c07f9fc5 | 1791 | |
d2e6a577 FG |
1792 | Option("osd_tier_default_cache_min_write_recency_for_promote", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1793 | .set_default(1) | |
1794 | .set_description(""), | |
c07f9fc5 | 1795 | |
d2e6a577 FG |
1796 | Option("osd_tier_default_cache_hit_set_grade_decay_rate", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1797 | .set_default(20) | |
1798 | .set_description(""), | |
c07f9fc5 | 1799 | |
d2e6a577 FG |
1800 | Option("osd_tier_default_cache_hit_set_search_last_n", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
1801 | .set_default(1) | |
1802 | .set_description(""), | |
c07f9fc5 | 1803 | |
d2e6a577 FG |
1804 | Option("osd_map_dedup", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
1805 | .set_default(true) | |
1806 | .set_description(""), | |
1807 | ||
1808 | Option("osd_map_max_advance", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1809 | .set_default(40) | |
1810 | .set_description(""), | |
1811 | ||
1812 | Option("osd_map_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1813 | .set_default(50) | |
1814 | .set_description(""), | |
1815 | ||
1816 | Option("osd_map_message_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1817 | .set_default(40) | |
1818 | .set_description(""), | |
1819 | ||
1820 | Option("osd_map_share_max_epochs", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1821 | .set_default(40) | |
1822 | .set_description(""), | |
1823 | ||
1824 | Option("osd_inject_bad_map_crc_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
1825 | .set_default(0) | |
1826 | .set_description(""), | |
1827 | ||
1828 | Option("osd_inject_failure_on_pg_removal", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
1829 | .set_default(false) | |
1830 | .set_description(""), | |
1831 | ||
1832 | Option("osd_max_markdown_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1833 | .set_default(600) | |
1834 | .set_description(""), | |
1835 | ||
1836 | Option("osd_max_markdown_count", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1837 | .set_default(5) | |
1838 | .set_description(""), | |
1839 | ||
1840 | Option("osd_peering_wq_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1841 | .set_default(2) | |
1842 | .set_description(""), | |
1843 | ||
1844 | Option("osd_peering_wq_batch_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
1845 | .set_default(20) | |
1846 | .set_description(""), | |
1847 | ||
1848 | Option("osd_op_pq_max_tokens_per_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
1849 | .set_default(4194304) | |
1850 | .set_description(""), | |
1851 | ||
1852 | Option("osd_op_pq_min_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
1853 | .set_default(65536) | |
1854 | .set_description(""), | |
1855 | ||
1856 | Option("osd_disk_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1857 | .set_default(1) | |
1858 | .set_description(""), | |
1859 | ||
1860 | Option("osd_disk_thread_ioprio_class", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
1861 | .set_default("") | |
1862 | .set_description(""), | |
1863 | ||
1864 | Option("osd_disk_thread_ioprio_priority", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1865 | .set_default(-1) | |
1866 | .set_description(""), | |
1867 | ||
1868 | Option("osd_recover_clone_overlap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
1869 | .set_default(true) | |
1870 | .set_description(""), | |
1871 | ||
1872 | Option("osd_op_num_threads_per_shard", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1873 | .set_default(0) | |
1874 | .set_description(""), | |
1875 | ||
1876 | Option("osd_op_num_threads_per_shard_hdd", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1877 | .set_default(1) | |
1878 | .set_description(""), | |
1879 | ||
1880 | Option("osd_op_num_threads_per_shard_ssd", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1881 | .set_default(2) | |
1882 | .set_description(""), | |
1883 | ||
1884 | Option("osd_op_num_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1885 | .set_default(0) | |
1886 | .set_description(""), | |
1887 | ||
1888 | Option("osd_op_num_shards_hdd", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1889 | .set_default(5) | |
1890 | .set_description(""), | |
1891 | ||
1892 | Option("osd_op_num_shards_ssd", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
1893 | .set_default(8) | |
1894 | .set_description(""), | |
1895 | ||
1896 | Option("osd_op_queue", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
1897 | .set_default("wpq") | |
1898 | .set_enum_allowed( { "wpq", "prioritized", "mclock_opclass", "mclock_client", "debug_random" } ) | |
1899 | .set_description("which operation queue algorithm to use") | |
1900 | .set_long_description("which operation queue algorithm to use; mclock_opclass and mclock_client are currently experimental") | |
1901 | .add_see_also("osd_op_queue_cut_off"), | |
1902 | ||
1903 | Option("osd_op_queue_cut_off", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
1904 | .set_default("low") | |
1905 | .set_enum_allowed( { "low", "high", "debug_random" } ) | |
1906 | .set_description("the threshold between high priority ops and low priority ops") | |
1907 | .set_long_description("the threshold between high priority ops that use strict priority ordering and low priority ops that use a fairness algorithm that may or may not incorporate priority") | |
1908 | .add_see_also("osd_op_queue"), | |
1909 | ||
1910 | Option("osd_op_queue_mclock_client_op_res", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
1911 | .set_default(1000.0) | |
1912 | .set_description("mclock reservation of client operator requests") | |
1913 | .set_long_description("mclock reservation of client operator requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation") | |
1914 | .add_see_also("osd_op_queue") | |
1915 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
1916 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
1917 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
1918 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
1919 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
1920 | .add_see_also("osd_op_queue_mclock_snap_res") | |
1921 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
1922 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
1923 | .add_see_also("osd_op_queue_mclock_recov_res") | |
1924 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
1925 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
1926 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
1927 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
1928 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
1929 | ||
1930 | Option("osd_op_queue_mclock_client_op_wgt", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
1931 | .set_default(500.0) | |
1932 | .set_description("mclock weight of client operator requests") | |
1933 | .set_long_description("mclock weight of client operator requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight") | |
1934 | .add_see_also("osd_op_queue") | |
1935 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
1936 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
1937 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
1938 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
1939 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
1940 | .add_see_also("osd_op_queue_mclock_snap_res") | |
1941 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
1942 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
1943 | .add_see_also("osd_op_queue_mclock_recov_res") | |
1944 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
1945 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
1946 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
1947 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
1948 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
1949 | ||
1950 | Option("osd_op_queue_mclock_client_op_lim", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
1951 | .set_default(0.0) | |
1952 | .set_description("mclock limit of client operator requests") | |
1953 | .set_long_description("mclock limit of client operator requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit") | |
1954 | .add_see_also("osd_op_queue") | |
1955 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
1956 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
1957 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
1958 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
1959 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
1960 | .add_see_also("osd_op_queue_mclock_snap_res") | |
1961 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
1962 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
1963 | .add_see_also("osd_op_queue_mclock_recov_res") | |
1964 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
1965 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
1966 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
1967 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
1968 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
1969 | ||
1970 | Option("osd_op_queue_mclock_osd_subop_res", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
1971 | .set_default(1000.0) | |
1972 | .set_description("mclock reservation of osd sub-operation requests") | |
1973 | .set_long_description("mclock reservation of osd sub-operation requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation") | |
1974 | .add_see_also("osd_op_queue") | |
1975 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
1976 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
1977 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
1978 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
1979 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
1980 | .add_see_also("osd_op_queue_mclock_snap_res") | |
1981 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
1982 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
1983 | .add_see_also("osd_op_queue_mclock_recov_res") | |
1984 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
1985 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
1986 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
1987 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
1988 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
1989 | ||
1990 | Option("osd_op_queue_mclock_osd_subop_wgt", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
1991 | .set_default(500.0) | |
1992 | .set_description("mclock weight of osd sub-operation requests") | |
1993 | .set_long_description("mclock weight of osd sub-operation requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight") | |
1994 | .add_see_also("osd_op_queue") | |
1995 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
1996 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
1997 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
1998 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
1999 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2000 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2001 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2002 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2003 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2004 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2005 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2006 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2007 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2008 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2009 | ||
2010 | Option("osd_op_queue_mclock_osd_subop_lim", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2011 | .set_default(0.0) | |
2012 | .set_description("mclock limit of osd sub-operation requests") | |
2013 | .set_long_description("mclock limit of osd sub-operation requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit") | |
2014 | .add_see_also("osd_op_queue") | |
2015 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2016 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2017 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2018 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2019 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2020 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2021 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2022 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2023 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2024 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2025 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2026 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2027 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2028 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2029 | ||
2030 | Option("osd_op_queue_mclock_snap_res", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2031 | .set_default(0.0) | |
2032 | .set_description("mclock reservation of snaptrim requests") | |
2033 | .set_long_description("mclock reservation of snaptrim requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation") | |
2034 | .add_see_also("osd_op_queue") | |
2035 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2036 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2037 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2038 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2039 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2040 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2041 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2042 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2043 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2044 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2045 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2046 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2047 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2048 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2049 | ||
2050 | Option("osd_op_queue_mclock_snap_wgt", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2051 | .set_default(1.0) | |
2052 | .set_description("mclock weight of snaptrim requests") | |
2053 | .set_long_description("mclock weight of snaptrim requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight") | |
2054 | .add_see_also("osd_op_queue") | |
2055 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2056 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2057 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2058 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2059 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2060 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2061 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2062 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2063 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2064 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2065 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2066 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2067 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2068 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2069 | ||
2070 | Option("osd_op_queue_mclock_snap_lim", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2071 | .set_default(0.001) | |
2072 | .set_description("") | |
2073 | .set_description("mclock limit of snaptrim requests") | |
2074 | .set_long_description("mclock limit of snaptrim requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit") | |
2075 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2076 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2077 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2078 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2079 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2080 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2081 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2082 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2083 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2084 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2085 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2086 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2087 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2088 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2089 | ||
2090 | Option("osd_op_queue_mclock_recov_res", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2091 | .set_default(0.0) | |
2092 | .set_description("mclock reservation of recovery requests") | |
2093 | .set_long_description("mclock reservation of recovery requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation") | |
2094 | .add_see_also("osd_op_queue") | |
2095 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2096 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2097 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2098 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2099 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2100 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2101 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2102 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2103 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2104 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2105 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2106 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2107 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2108 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2109 | ||
2110 | Option("osd_op_queue_mclock_recov_wgt", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2111 | .set_default(1.0) | |
2112 | .set_description("mclock weight of recovery requests") | |
2113 | .set_long_description("mclock weight of recovery requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight") | |
2114 | .add_see_also("osd_op_queue") | |
2115 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2116 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2117 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2118 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2119 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2120 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2121 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2122 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2123 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2124 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2125 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2126 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2127 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2128 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2129 | ||
2130 | Option("osd_op_queue_mclock_recov_lim", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2131 | .set_default(0.001) | |
2132 | .set_description("mclock limit of recovery requests") | |
2133 | .set_long_description("mclock limit of recovery requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit") | |
2134 | .add_see_also("osd_op_queue") | |
2135 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2136 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2137 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2138 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2139 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2140 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2141 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2142 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2143 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2144 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2145 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2146 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2147 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2148 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2149 | ||
2150 | Option("osd_op_queue_mclock_scrub_res", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2151 | .set_default(0.0) | |
2152 | .set_description("mclock reservation of scrub requests") | |
2153 | .set_long_description("mclock reservation of scrub requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation") | |
2154 | .add_see_also("osd_op_queue") | |
2155 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2156 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2157 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2158 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2159 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2160 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2161 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2162 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2163 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2164 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2165 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2166 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2167 | .add_see_also("osd_op_queue_mclock_scrub_wgt") | |
2168 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2169 | ||
2170 | Option("osd_op_queue_mclock_scrub_wgt", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2171 | .set_default(1.0) | |
2172 | .set_description("mclock weight of scrub requests") | |
2173 | .set_long_description("mclock weight of scrub requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight") | |
2174 | .add_see_also("osd_op_queue") | |
2175 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2176 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2177 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2178 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2179 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2180 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2181 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2182 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2183 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2184 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2185 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2186 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2187 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2188 | .add_see_also("osd_op_queue_mclock_scrub_lim"), | |
2189 | ||
2190 | Option("osd_op_queue_mclock_scrub_lim", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2191 | .set_default(0.001) | |
2192 | .set_description("mclock weight of limit requests") | |
2193 | .set_long_description("mclock weight of limit requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit") | |
2194 | .add_see_also("osd_op_queue") | |
2195 | .add_see_also("osd_op_queue_mclock_client_op_res") | |
2196 | .add_see_also("osd_op_queue_mclock_client_op_wgt") | |
2197 | .add_see_also("osd_op_queue_mclock_client_op_lim") | |
2198 | .add_see_also("osd_op_queue_mclock_osd_subop_res") | |
2199 | .add_see_also("osd_op_queue_mclock_osd_subop_wgt") | |
2200 | .add_see_also("osd_op_queue_mclock_osd_subop_lim") | |
2201 | .add_see_also("osd_op_queue_mclock_snap_res") | |
2202 | .add_see_also("osd_op_queue_mclock_snap_wgt") | |
2203 | .add_see_also("osd_op_queue_mclock_snap_lim") | |
2204 | .add_see_also("osd_op_queue_mclock_recov_res") | |
2205 | .add_see_also("osd_op_queue_mclock_recov_wgt") | |
2206 | .add_see_also("osd_op_queue_mclock_recov_lim") | |
2207 | .add_see_also("osd_op_queue_mclock_scrub_res") | |
2208 | .add_see_also("osd_op_queue_mclock_scrub_wgt"), | |
2209 | ||
2210 | Option("osd_ignore_stale_divergent_priors", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2211 | .set_default(false) | |
2212 | .set_description(""), | |
2213 | ||
2214 | Option("osd_read_ec_check_for_errors", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2215 | .set_default(false) | |
2216 | .set_description(""), | |
2217 | ||
2218 | Option("osd_recover_clone_overlap_limit", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2219 | .set_default(10) | |
2220 | .set_description(""), | |
2221 | ||
2222 | Option("osd_backfill_scan_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2223 | .set_default(64) | |
2224 | .set_description(""), | |
2225 | ||
2226 | Option("osd_backfill_scan_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2227 | .set_default(512) | |
2228 | .set_description(""), | |
2229 | ||
2230 | Option("osd_op_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2231 | .set_default(15) | |
2232 | .set_description(""), | |
2233 | ||
2234 | Option("osd_op_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2235 | .set_default(150) | |
2236 | .set_description(""), | |
2237 | ||
2238 | Option("osd_recovery_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2239 | .set_default(30) | |
2240 | .set_description(""), | |
2241 | ||
2242 | Option("osd_recovery_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2243 | .set_default(300) | |
2244 | .set_description(""), | |
2245 | ||
2246 | Option("osd_recovery_sleep", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2247 | .set_default(0) | |
2248 | .set_description("Time in seconds to sleep before next recovery or backfill op"), | |
2249 | ||
2250 | Option("osd_recovery_sleep_hdd", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2251 | .set_default(0.1) | |
2252 | .set_description("Time in seconds to sleep before next recovery or backfill op for HDDs"), | |
2253 | ||
2254 | Option("osd_recovery_sleep_ssd", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2255 | .set_default(0) | |
2256 | .set_description("Time in seconds to sleep before next recovery or backfill op for SSDs"), | |
2257 | ||
2258 | Option("osd_recovery_sleep_hybrid", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2259 | .set_default(0.025) | |
2260 | .set_description("Time in seconds to sleep before next recovery or backfill op when data is on HDD and journal is on SSD"), | |
2261 | ||
2262 | Option("osd_snap_trim_sleep", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2263 | .set_default(0) | |
2264 | .set_description(""), | |
2265 | ||
2266 | Option("osd_scrub_invalid_stats", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2267 | .set_default(true) | |
2268 | .set_description(""), | |
2269 | ||
2270 | Option("osd_remove_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2271 | .set_default(60*60) | |
2272 | .set_description(""), | |
2273 | ||
2274 | Option("osd_remove_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2275 | .set_default(10*60*60) | |
2276 | .set_description(""), | |
2277 | ||
2278 | Option("osd_command_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2279 | .set_default(10*60) | |
2280 | .set_description(""), | |
2281 | ||
2282 | Option("osd_command_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2283 | .set_default(15*60) | |
2284 | .set_description(""), | |
2285 | ||
2286 | Option("osd_heartbeat_addr", Option::TYPE_ADDR, Option::LEVEL_ADVANCED) | |
2287 | .set_default(entity_addr_t()) | |
2288 | .set_description(""), | |
2289 | ||
2290 | Option("osd_heartbeat_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2291 | .set_default(6) | |
2292 | .set_description(""), | |
2293 | ||
2294 | Option("osd_heartbeat_grace", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2295 | .set_default(20) | |
2296 | .set_description(""), | |
2297 | ||
2298 | Option("osd_heartbeat_min_peers", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2299 | .set_default(10) | |
2300 | .set_description(""), | |
2301 | ||
2302 | Option("osd_heartbeat_use_min_delay_socket", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2303 | .set_default(false) | |
2304 | .set_description(""), | |
c07f9fc5 | 2305 | |
d2e6a577 FG |
2306 | Option("osd_heartbeat_min_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2307 | .set_default(2000) | |
2308 | .set_description(""), | |
c07f9fc5 | 2309 | |
d2e6a577 FG |
2310 | Option("osd_pg_max_concurrent_snap_trims", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2311 | .set_default(2) | |
2312 | .set_description(""), | |
c07f9fc5 | 2313 | |
d2e6a577 FG |
2314 | Option("osd_max_trimming_pgs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2315 | .set_default(2) | |
2316 | .set_description(""), | |
c07f9fc5 | 2317 | |
d2e6a577 FG |
2318 | Option("osd_heartbeat_min_healthy_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2319 | .set_default(.33) | |
2320 | .set_description(""), | |
c07f9fc5 | 2321 | |
d2e6a577 FG |
2322 | Option("osd_mon_heartbeat_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2323 | .set_default(30) | |
2324 | .set_description(""), | |
c07f9fc5 | 2325 | |
d2e6a577 FG |
2326 | Option("osd_mon_report_interval_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2327 | .set_default(600) | |
2328 | .set_description(""), | |
c07f9fc5 | 2329 | |
d2e6a577 FG |
2330 | Option("osd_mon_report_interval_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2331 | .set_default(5) | |
2332 | .set_description(""), | |
c07f9fc5 | 2333 | |
d2e6a577 FG |
2334 | Option("osd_mon_report_max_in_flight", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2335 | .set_default(2) | |
2336 | .set_description(""), | |
c07f9fc5 | 2337 | |
d2e6a577 FG |
2338 | Option("osd_beacon_report_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2339 | .set_default(300) | |
2340 | .set_description(""), | |
c07f9fc5 | 2341 | |
d2e6a577 FG |
2342 | Option("osd_pg_stat_report_interval_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2343 | .set_default(500) | |
2344 | .set_description(""), | |
c07f9fc5 | 2345 | |
d2e6a577 FG |
2346 | Option("osd_mon_ack_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2347 | .set_default(30.0) | |
2348 | .set_description(""), | |
c07f9fc5 | 2349 | |
d2e6a577 FG |
2350 | Option("osd_stats_ack_timeout_factor", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2351 | .set_default(2.0) | |
2352 | .set_description(""), | |
c07f9fc5 | 2353 | |
d2e6a577 FG |
2354 | Option("osd_stats_ack_timeout_decay", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2355 | .set_default(.9) | |
2356 | .set_description(""), | |
c07f9fc5 | 2357 | |
d2e6a577 FG |
2358 | Option("osd_default_data_pool_replay_window", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2359 | .set_default(45) | |
2360 | .set_description(""), | |
c07f9fc5 | 2361 | |
d2e6a577 FG |
2362 | Option("osd_auto_mark_unfound_lost", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2363 | .set_default(false) | |
2364 | .set_description(""), | |
c07f9fc5 | 2365 | |
d2e6a577 FG |
2366 | Option("osd_recovery_delay_start", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2367 | .set_default(0) | |
2368 | .set_description(""), | |
c07f9fc5 | 2369 | |
d2e6a577 FG |
2370 | Option("osd_recovery_max_active", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2371 | .set_default(3) | |
2372 | .set_description(""), | |
c07f9fc5 | 2373 | |
d2e6a577 FG |
2374 | Option("osd_recovery_max_single_start", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2375 | .set_default(1) | |
2376 | .set_description(""), | |
c07f9fc5 | 2377 | |
d2e6a577 FG |
2378 | Option("osd_recovery_max_chunk", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2379 | .set_default(8<<20) | |
2380 | .set_description(""), | |
c07f9fc5 | 2381 | |
d2e6a577 FG |
2382 | Option("osd_recovery_max_omap_entries_per_chunk", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2383 | .set_default(64000) | |
2384 | .set_description(""), | |
c07f9fc5 | 2385 | |
d2e6a577 FG |
2386 | Option("osd_copyfrom_max_chunk", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2387 | .set_default(8<<20) | |
2388 | .set_description(""), | |
c07f9fc5 | 2389 | |
d2e6a577 FG |
2390 | Option("osd_push_per_object_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2391 | .set_default(1000) | |
2392 | .set_description(""), | |
c07f9fc5 | 2393 | |
d2e6a577 FG |
2394 | Option("osd_max_push_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2395 | .set_default(8<<20) | |
2396 | .set_description(""), | |
c07f9fc5 | 2397 | |
d2e6a577 FG |
2398 | Option("osd_max_push_objects", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2399 | .set_default(10) | |
2400 | .set_description(""), | |
c07f9fc5 | 2401 | |
d2e6a577 FG |
2402 | Option("osd_recovery_forget_lost_objects", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2403 | .set_default(false) | |
2404 | .set_description(""), | |
c07f9fc5 | 2405 | |
d2e6a577 FG |
2406 | Option("osd_max_scrubs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2407 | .set_default(1) | |
2408 | .set_description(""), | |
c07f9fc5 | 2409 | |
d2e6a577 FG |
2410 | Option("osd_scrub_during_recovery", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2411 | .set_default(false) | |
2412 | .set_description(""), | |
c07f9fc5 | 2413 | |
d2e6a577 FG |
2414 | Option("osd_scrub_begin_hour", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2415 | .set_default(0) | |
2416 | .set_description(""), | |
c07f9fc5 | 2417 | |
d2e6a577 FG |
2418 | Option("osd_scrub_end_hour", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2419 | .set_default(24) | |
2420 | .set_description(""), | |
c07f9fc5 | 2421 | |
d2e6a577 FG |
2422 | Option("osd_scrub_load_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2423 | .set_default(0.5) | |
2424 | .set_description(""), | |
c07f9fc5 | 2425 | |
d2e6a577 FG |
2426 | Option("osd_scrub_min_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2427 | .set_default(60*60*24) | |
2428 | .set_description(""), | |
2429 | ||
2430 | Option("osd_scrub_max_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2431 | .set_default(7*60*60*24) | |
2432 | .set_description(""), | |
2433 | ||
2434 | Option("osd_scrub_interval_randomize_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2435 | .set_default(0.5) | |
2436 | .set_description(""), | |
2437 | ||
2438 | Option("osd_scrub_backoff_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2439 | .set_default(.66) | |
2440 | .set_description(""), | |
2441 | ||
2442 | Option("osd_scrub_chunk_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2443 | .set_default(5) | |
2444 | .set_description(""), | |
2445 | ||
2446 | Option("osd_scrub_chunk_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2447 | .set_default(25) | |
2448 | .set_description(""), | |
2449 | ||
2450 | Option("osd_scrub_sleep", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2451 | .set_default(0) | |
2452 | .set_description(""), | |
2453 | ||
2454 | Option("osd_scrub_auto_repair", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2455 | .set_default(false) | |
2456 | .set_description(""), | |
2457 | ||
2458 | Option("osd_scrub_auto_repair_num_errors", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2459 | .set_default(5) | |
2460 | .set_description(""), | |
2461 | ||
2462 | Option("osd_deep_scrub_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2463 | .set_default(60*60*24*7) | |
2464 | .set_description(""), | |
2465 | ||
2466 | Option("osd_deep_scrub_randomize_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2467 | .set_default(0.15) | |
2468 | .set_description(""), | |
2469 | ||
2470 | Option("osd_deep_scrub_stride", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2471 | .set_default(524288) | |
2472 | .set_description(""), | |
2473 | ||
2474 | Option("osd_deep_scrub_update_digest_min_age", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2475 | .set_default(2*60*60) | |
2476 | .set_description(""), | |
2477 | ||
2478 | Option("osd_class_dir", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2479 | .set_default(CEPH_LIBDIR "/rados-classes") | |
2480 | .set_description(""), | |
2481 | ||
2482 | Option("osd_open_classes_on_start", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2483 | .set_default(true) | |
2484 | .set_description(""), | |
2485 | ||
2486 | Option("osd_class_load_list", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2487 | .set_default("cephfs hello journal lock log numops " "rbd refcount replica_log rgw statelog timeindex user version") | |
2488 | .set_description(""), | |
2489 | ||
2490 | Option("osd_class_default_list", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2491 | .set_default("cephfs hello journal lock log numops " "rbd refcount replica_log rgw statelog timeindex user version") | |
2492 | .set_description(""), | |
2493 | ||
2494 | Option("osd_check_for_log_corruption", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2495 | .set_default(false) | |
2496 | .set_description(""), | |
2497 | ||
2498 | Option("osd_use_stale_snap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2499 | .set_default(false) | |
2500 | .set_description(""), | |
2501 | ||
2502 | Option("osd_rollback_to_cluster_snap", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2503 | .set_default("") | |
2504 | .set_description(""), | |
2505 | ||
2506 | Option("osd_default_notify_timeout", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2507 | .set_default(30) | |
2508 | .set_description(""), | |
2509 | ||
2510 | Option("osd_kill_backfill_at", Option::TYPE_INT, Option::LEVEL_DEV) | |
2511 | .set_default(0) | |
2512 | .set_description(""), | |
2513 | ||
2514 | Option("osd_pg_epoch_persisted_max_stale", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2515 | .set_default(40) | |
2516 | .set_description(""), | |
2517 | ||
2518 | Option("osd_min_pg_log_entries", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
181888fb | 2519 | .set_default(1500) |
d2e6a577 FG |
2520 | .set_description("minimum number of entries to maintain in the PG log") |
2521 | .add_service("osd") | |
2522 | .add_see_also("osd_max_pg_log_entries") | |
2523 | .add_see_also("osd_pg_log_dups_tracked"), | |
2524 | ||
2525 | Option("osd_max_pg_log_entries", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2526 | .set_default(10000) | |
2527 | .set_description("maximum number of entries to maintain in the PG log when degraded before we trim") | |
2528 | .add_service("osd") | |
2529 | .add_see_also("osd_min_pg_log_entries") | |
2530 | .add_see_also("osd_pg_log_dups_tracked"), | |
2531 | ||
2532 | Option("osd_pg_log_dups_tracked", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2533 | .set_default(3000) | |
2534 | .set_description("how many versions back to track in order to detect duplicate ops; this is combined with both the regular pg log entries and additional minimal dup detection entries") | |
2535 | .add_service("osd") | |
2536 | .add_see_also("osd_min_pg_log_entries") | |
2537 | .add_see_also("osd_max_pg_log_entries"), | |
2538 | ||
2539 | Option("osd_force_recovery_pg_log_entries_factor", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2540 | .set_default(1.3) | |
2541 | .set_description(""), | |
2542 | ||
2543 | Option("osd_pg_log_trim_min", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2544 | .set_default(100) | |
2545 | .set_description(""), | |
2546 | ||
2547 | Option("osd_op_complaint_time", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2548 | .set_default(30) | |
2549 | .set_description(""), | |
2550 | ||
2551 | Option("osd_command_max_records", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2552 | .set_default(256) | |
2553 | .set_description(""), | |
2554 | ||
2555 | Option("osd_max_pg_blocked_by", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2556 | .set_default(16) | |
2557 | .set_description(""), | |
2558 | ||
2559 | Option("osd_op_log_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2560 | .set_default(5) | |
2561 | .set_description(""), | |
2562 | ||
2563 | Option("osd_verify_sparse_read_holes", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2564 | .set_default(false) | |
2565 | .set_description(""), | |
2566 | ||
2567 | Option("osd_backoff_on_unfound", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2568 | .set_default(true) | |
2569 | .set_description(""), | |
2570 | ||
2571 | Option("osd_backoff_on_degraded", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2572 | .set_default(false) | |
2573 | .set_description(""), | |
2574 | ||
2575 | Option("osd_backoff_on_down", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2576 | .set_default(true) | |
2577 | .set_description(""), | |
2578 | ||
2579 | Option("osd_backoff_on_peering", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2580 | .set_default(false) | |
2581 | .set_description(""), | |
2582 | ||
2583 | Option("osd_debug_crash_on_ignored_backoff", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2584 | .set_default(false) | |
2585 | .set_description(""), | |
2586 | ||
2587 | Option("osd_debug_inject_dispatch_delay_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
2588 | .set_default(0) | |
2589 | .set_description(""), | |
2590 | ||
2591 | Option("osd_debug_inject_dispatch_delay_duration", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
2592 | .set_default(.1) | |
2593 | .set_description(""), | |
2594 | ||
2595 | Option("osd_debug_drop_ping_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
2596 | .set_default(0) | |
2597 | .set_description(""), | |
2598 | ||
2599 | Option("osd_debug_drop_ping_duration", Option::TYPE_INT, Option::LEVEL_DEV) | |
2600 | .set_default(0) | |
2601 | .set_description(""), | |
2602 | ||
2603 | Option("osd_debug_op_order", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2604 | .set_default(false) | |
2605 | .set_description(""), | |
2606 | ||
2607 | Option("osd_debug_verify_missing_on_start", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2608 | .set_default(false) | |
2609 | .set_description(""), | |
2610 | ||
2611 | Option("osd_debug_scrub_chance_rewrite_digest", Option::TYPE_UINT, Option::LEVEL_DEV) | |
2612 | .set_default(0) | |
2613 | .set_description(""), | |
2614 | ||
2615 | Option("osd_debug_verify_snaps_on_info", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2616 | .set_default(false) | |
2617 | .set_description(""), | |
2618 | ||
2619 | Option("osd_debug_verify_stray_on_activate", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2620 | .set_default(false) | |
2621 | .set_description(""), | |
2622 | ||
2623 | Option("osd_debug_skip_full_check_in_backfill_reservation", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2624 | .set_default(false) | |
2625 | .set_description(""), | |
2626 | ||
2627 | Option("osd_debug_reject_backfill_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
2628 | .set_default(0) | |
2629 | .set_description(""), | |
c07f9fc5 | 2630 | |
d2e6a577 FG |
2631 | Option("osd_debug_inject_copyfrom_error", Option::TYPE_BOOL, Option::LEVEL_DEV) |
2632 | .set_default(false) | |
2633 | .set_description(""), | |
c07f9fc5 | 2634 | |
d2e6a577 FG |
2635 | Option("osd_debug_misdirected_ops", Option::TYPE_BOOL, Option::LEVEL_DEV) |
2636 | .set_default(false) | |
2637 | .set_description(""), | |
c07f9fc5 | 2638 | |
d2e6a577 FG |
2639 | Option("osd_debug_skip_full_check_in_recovery", Option::TYPE_BOOL, Option::LEVEL_DEV) |
2640 | .set_default(false) | |
2641 | .set_description(""), | |
c07f9fc5 | 2642 | |
d2e6a577 FG |
2643 | Option("osd_debug_random_push_read_error", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
2644 | .set_default(0) | |
2645 | .set_description(""), | |
c07f9fc5 | 2646 | |
d2e6a577 FG |
2647 | Option("osd_debug_verify_cached_snaps", Option::TYPE_BOOL, Option::LEVEL_DEV) |
2648 | .set_default(false) | |
2649 | .set_description(""), | |
c07f9fc5 | 2650 | |
d2e6a577 FG |
2651 | Option("osd_enable_op_tracker", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2652 | .set_default(true) | |
2653 | .set_description(""), | |
c07f9fc5 | 2654 | |
d2e6a577 FG |
2655 | Option("osd_num_op_tracker_shard", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2656 | .set_default(32) | |
2657 | .set_description(""), | |
c07f9fc5 | 2658 | |
d2e6a577 FG |
2659 | Option("osd_op_history_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2660 | .set_default(20) | |
2661 | .set_description(""), | |
c07f9fc5 | 2662 | |
d2e6a577 FG |
2663 | Option("osd_op_history_duration", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2664 | .set_default(600) | |
2665 | .set_description(""), | |
c07f9fc5 | 2666 | |
d2e6a577 FG |
2667 | Option("osd_op_history_slow_op_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2668 | .set_default(20) | |
2669 | .set_description(""), | |
c07f9fc5 | 2670 | |
d2e6a577 FG |
2671 | Option("osd_op_history_slow_op_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2672 | .set_default(10.0) | |
2673 | .set_description(""), | |
c07f9fc5 | 2674 | |
d2e6a577 FG |
2675 | Option("osd_target_transaction_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2676 | .set_default(30) | |
2677 | .set_description(""), | |
c07f9fc5 | 2678 | |
d2e6a577 FG |
2679 | Option("osd_failsafe_full_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
2680 | .set_default(.97) | |
2681 | .set_description(""), | |
c07f9fc5 | 2682 | |
d2e6a577 FG |
2683 | Option("osd_fast_fail_on_connection_refused", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2684 | .set_default(true) | |
2685 | .set_description(""), | |
c07f9fc5 | 2686 | |
d2e6a577 FG |
2687 | Option("osd_pg_object_context_cache_count", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2688 | .set_default(64) | |
2689 | .set_description(""), | |
c07f9fc5 | 2690 | |
d2e6a577 FG |
2691 | Option("osd_tracing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2692 | .set_default(false) | |
2693 | .set_description(""), | |
c07f9fc5 | 2694 | |
d2e6a577 FG |
2695 | Option("osd_function_tracing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2696 | .set_default(false) | |
2697 | .set_description(""), | |
c07f9fc5 | 2698 | |
d2e6a577 FG |
2699 | Option("osd_fast_info", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2700 | .set_default(true) | |
2701 | .set_description(""), | |
c07f9fc5 | 2702 | |
d2e6a577 FG |
2703 | Option("osd_debug_pg_log_writeout", Option::TYPE_BOOL, Option::LEVEL_DEV) |
2704 | .set_default(false) | |
2705 | .set_description(""), | |
c07f9fc5 | 2706 | |
d2e6a577 FG |
2707 | Option("osd_loop_before_reset_tphandle", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2708 | .set_default(64) | |
2709 | .set_description(""), | |
c07f9fc5 | 2710 | |
d2e6a577 FG |
2711 | Option("threadpool_default_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2712 | .set_default(60) | |
2713 | .set_description(""), | |
c07f9fc5 | 2714 | |
d2e6a577 FG |
2715 | Option("threadpool_empty_queue_max_wait", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2716 | .set_default(2) | |
2717 | .set_description(""), | |
c07f9fc5 | 2718 | |
d2e6a577 FG |
2719 | Option("leveldb_log_to_ceph_log", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2720 | .set_default(true) | |
2721 | .set_description(""), | |
c07f9fc5 | 2722 | |
d2e6a577 FG |
2723 | Option("leveldb_write_buffer_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2724 | .set_default(8 *1024*1024) | |
2725 | .set_description(""), | |
c07f9fc5 | 2726 | |
d2e6a577 FG |
2727 | Option("leveldb_cache_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2728 | .set_default(128 *1024*1024) | |
2729 | .set_description(""), | |
c07f9fc5 | 2730 | |
d2e6a577 FG |
2731 | Option("leveldb_block_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2732 | .set_default(0) | |
2733 | .set_description(""), | |
c07f9fc5 | 2734 | |
d2e6a577 FG |
2735 | Option("leveldb_bloom_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2736 | .set_default(0) | |
2737 | .set_description(""), | |
c07f9fc5 | 2738 | |
d2e6a577 FG |
2739 | Option("leveldb_max_open_files", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
2740 | .set_default(0) | |
2741 | .set_description(""), | |
c07f9fc5 | 2742 | |
d2e6a577 FG |
2743 | Option("leveldb_compression", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2744 | .set_default(true) | |
2745 | .set_description(""), | |
c07f9fc5 | 2746 | |
d2e6a577 FG |
2747 | Option("leveldb_paranoid", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2748 | .set_default(false) | |
2749 | .set_description(""), | |
2750 | ||
2751 | Option("leveldb_log", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2752 | .set_default("/dev/null") | |
2753 | .set_description(""), | |
2754 | ||
2755 | Option("leveldb_compact_on_mount", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2756 | .set_default(false) | |
2757 | .set_description(""), | |
2758 | ||
2759 | Option("kinetic_host", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2760 | .set_default("") | |
2761 | .set_description(""), | |
2762 | ||
2763 | Option("kinetic_port", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2764 | .set_default(8123) | |
2765 | .set_description(""), | |
2766 | ||
2767 | Option("kinetic_user_id", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2768 | .set_default(1) | |
2769 | .set_description(""), | |
2770 | ||
2771 | Option("kinetic_hmac_key", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2772 | .set_default("asdfasdf") | |
2773 | .set_description(""), | |
2774 | ||
2775 | Option("kinetic_use_ssl", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2776 | .set_default(false) | |
2777 | .set_description(""), | |
2778 | ||
2779 | Option("rocksdb_separate_wal_dir", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2780 | .set_default(false) | |
2781 | .set_description(""), | |
2782 | ||
2783 | Option("rocksdb_db_paths", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2784 | .set_default("") | |
2785 | .set_description("") | |
2786 | .set_safe(), | |
2787 | ||
2788 | Option("rocksdb_log_to_ceph_log", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2789 | .set_default(true) | |
2790 | .set_description(""), | |
2791 | ||
2792 | Option("rocksdb_cache_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2793 | .set_default(128*1024*1024) | |
2794 | .set_description(""), | |
2795 | ||
2796 | Option("rocksdb_cache_row_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2797 | .set_default(0) | |
2798 | .set_description(""), | |
2799 | ||
2800 | Option("rocksdb_cache_shard_bits", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2801 | .set_default(4) | |
2802 | .set_description(""), | |
2803 | ||
2804 | Option("rocksdb_cache_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2805 | .set_default("lru") | |
2806 | .set_description(""), | |
2807 | ||
2808 | Option("rocksdb_block_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
2809 | .set_default(4*1024) | |
2810 | .set_description(""), | |
2811 | ||
2812 | Option("rocksdb_perf", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2813 | .set_default(false) | |
2814 | .set_description(""), | |
2815 | ||
2816 | Option("rocksdb_collect_compaction_stats", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2817 | .set_default(false) | |
2818 | .set_description(""), | |
2819 | ||
2820 | Option("rocksdb_collect_extended_stats", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2821 | .set_default(false) | |
2822 | .set_description(""), | |
2823 | ||
2824 | Option("rocksdb_collect_memory_stats", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2825 | .set_default(false) | |
2826 | .set_description(""), | |
2827 | ||
2828 | Option("rocksdb_enable_rmrange", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2829 | .set_default(false) | |
2830 | .set_description(""), | |
2831 | ||
2832 | Option("rocksdb_bloom_bits_per_key", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2833 | .set_default(20) | |
2834 | .set_description("Number of bits per key to use for RocksDB's bloom filters.") | |
2835 | .set_long_description("RocksDB bloom filters can be used to quickly answer the question of whether or not a key may exist or definitely does not exist in a given RocksDB SST file without having to read all keys into memory. Using a higher bit value decreases the likelihood of false positives at the expense of additional disk space and memory consumption when the filter is loaded into RAM. The current default value of 20 was found to provide significant performance gains when getattr calls are made (such as during new object creation in bluestore) without significant memory overhead or cache pollution when combined with rocksdb partitioned index filters. See: https://github.com/facebook/rocksdb/wiki/Partitioned-Index-Filters for more information."), | |
2836 | ||
2837 | Option("rocksdb_cache_index_and_filter_blocks", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2838 | .set_default(true) | |
2839 | .set_description("Whether to cache indices and filters in block cache") | |
2840 | .set_long_description("By default RocksDB will load an SST file's index and bloom filters into memory when it is opened and remove them from memory when an SST file is closed. Thus, memory consumption by indices and bloom filters is directly tied to the number of concurrent SST files allowed to be kept open. This option instead stores cached indicies and filters in the block cache where they directly compete with other cached data. By default we set this option to true to better account for and bound rocksdb memory usage and keep filters in memory even when an SST file is closed."), | |
2841 | ||
2842 | Option("rocksdb_cache_index_and_filter_blocks_with_high_priority", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2843 | .set_default(true) | |
2844 | .set_description("Whether to cache indices and filters in the block cache with high priority") | |
2845 | .set_long_description("A downside of setting rocksdb_cache_index_and_filter_blocks to true is that regular data can push indices and filters out of memory. Setting this option to true means they are cached with higher priority than other data and should typically stay in the block cache."), | |
2846 | ||
2847 | Option("rocksdb_pin_l0_filter_and_index_blocks_in_cache", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2848 | .set_default(true) | |
2849 | .set_description("Whether to pin Level 0 indices and bloom filters in the block cache") | |
2850 | .set_long_description("A downside of setting rocksdb_cache_index_and_filter_blocks to true is that regular data can push indices and filters out of memory. Setting this option to true means that level 0 SST files will always have their indices and filters pinned in the block cache."), | |
2851 | ||
2852 | Option("rocksdb_index_type", Option::TYPE_STR, Option::LEVEL_DEV) | |
2853 | .set_default("binary_search") | |
2854 | .set_description("Type of index for SST files: binary_search, hash_search, two_level") | |
2855 | .set_long_description("This option controls the table index type. binary_search is a space efficient index block that is optimized for block-search-based index. hash_search may improve prefix lookup performance at the expense of higher disk and memory usage and potentially slower compactions. two_level is an experimental index type that uses two binary search indexes and works in conjunction with partition filters. See: http://rocksdb.org/blog/2017/05/12/partitioned-index-filter.html"), | |
2856 | ||
2857 | Option("rocksdb_partition_filters", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
2858 | .set_default(false) | |
2859 | .set_description("(experimental) partition SST index/filters into smaller blocks") | |
2860 | .set_long_description("This is an experimental option for rocksdb that works in conjunction with two_level indices to avoid having to keep the entire filter/index in cache when cache_index_and_filter_blocks is true. The idea is to keep a much smaller top-level index in heap/cache and then opportunistically cache the lower level indices. See: https://github.com/facebook/rocksdb/wiki/Partitioned-Index-Filters"), | |
2861 | ||
2862 | Option("rocksdb_metadata_block_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
2863 | .set_default(4096) | |
2864 | .set_description("The block size for index partitions. (0 = rocksdb default)"), | |
2865 | ||
2866 | Option("mon_rocksdb_options", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
2867 | .set_default("write_buffer_size=33554432,compression=kNoCompression") | |
2868 | .set_description(""), | |
2869 | ||
2870 | Option("osd_client_op_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2871 | .set_default(63) | |
2872 | .set_description(""), | |
2873 | ||
2874 | Option("osd_recovery_op_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2875 | .set_default(3) | |
2876 | .set_description(""), | |
2877 | ||
2878 | Option("osd_snap_trim_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2879 | .set_default(5) | |
2880 | .set_description(""), | |
2881 | ||
2882 | Option("osd_snap_trim_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2883 | .set_default(1<<20) | |
2884 | .set_description(""), | |
2885 | ||
2886 | Option("osd_scrub_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2887 | .set_default(5) | |
2888 | .set_description(""), | |
2889 | ||
2890 | Option("osd_scrub_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2891 | .set_default(50<<20) | |
2892 | .set_description(""), | |
2893 | ||
2894 | Option("osd_requested_scrub_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2895 | .set_default(120) | |
2896 | .set_description(""), | |
2897 | ||
2898 | Option("osd_recovery_priority", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2899 | .set_default(5) | |
2900 | .set_description(""), | |
2901 | ||
2902 | Option("osd_recovery_cost", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2903 | .set_default(20<<20) | |
2904 | .set_description(""), | |
2905 | ||
2906 | Option("osd_recovery_op_warn_multiple", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2907 | .set_default(16) | |
2908 | .set_description(""), | |
2909 | ||
2910 | Option("osd_mon_shutdown_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
2911 | .set_default(5) | |
2912 | .set_description(""), | |
2913 | ||
2914 | Option("osd_shutdown_pgref_assert", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
2915 | .set_default(false) | |
2916 | .set_description(""), | |
2917 | ||
2918 | Option("osd_max_object_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2919 | .set_default(128*1024L*1024L) | |
2920 | .set_description(""), | |
2921 | ||
2922 | Option("osd_max_object_name_len", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2923 | .set_default(2048) | |
2924 | .set_description(""), | |
2925 | ||
2926 | Option("osd_max_object_namespace_len", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2927 | .set_default(256) | |
2928 | .set_description(""), | |
2929 | ||
2930 | Option("osd_max_attr_name_len", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2931 | .set_default(100) | |
2932 | .set_description(""), | |
2933 | ||
2934 | Option("osd_max_attr_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2935 | .set_default(0) | |
2936 | .set_description(""), | |
2937 | ||
2938 | Option("osd_max_omap_entries_per_request", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
2939 | .set_default(131072) | |
2940 | .set_description(""), | |
c07f9fc5 | 2941 | |
d2e6a577 FG |
2942 | Option("osd_max_omap_bytes_per_request", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2943 | .set_default(1<<30) | |
2944 | .set_description(""), | |
c07f9fc5 | 2945 | |
d2e6a577 FG |
2946 | Option("osd_objectstore", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
2947 | .set_default("filestore") | |
2948 | .set_description(""), | |
c07f9fc5 | 2949 | |
d2e6a577 FG |
2950 | Option("osd_objectstore_tracing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2951 | .set_default(false) | |
2952 | .set_description(""), | |
c07f9fc5 | 2953 | |
d2e6a577 FG |
2954 | Option("osd_objectstore_fuse", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2955 | .set_default(false) | |
2956 | .set_description(""), | |
c07f9fc5 | 2957 | |
d2e6a577 FG |
2958 | Option("osd_bench_small_size_max_iops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2959 | .set_default(100) | |
2960 | .set_description(""), | |
c07f9fc5 | 2961 | |
d2e6a577 FG |
2962 | Option("osd_bench_large_size_max_throughput", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2963 | .set_default(100 << 20) | |
2964 | .set_description(""), | |
c07f9fc5 | 2965 | |
d2e6a577 FG |
2966 | Option("osd_bench_max_block_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2967 | .set_default(64 << 20) | |
2968 | .set_description(""), | |
c07f9fc5 | 2969 | |
d2e6a577 FG |
2970 | Option("osd_bench_duration", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2971 | .set_default(30) | |
2972 | .set_description(""), | |
c07f9fc5 | 2973 | |
d2e6a577 FG |
2974 | Option("osd_blkin_trace_all", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2975 | .set_default(false) | |
2976 | .set_description(""), | |
c07f9fc5 | 2977 | |
d2e6a577 FG |
2978 | Option("osdc_blkin_trace_all", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2979 | .set_default(false) | |
2980 | .set_description(""), | |
c07f9fc5 | 2981 | |
d2e6a577 FG |
2982 | Option("osd_discard_disconnected_ops", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2983 | .set_default(true) | |
2984 | .set_description(""), | |
c07f9fc5 | 2985 | |
d2e6a577 FG |
2986 | Option("memstore_device_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2987 | .set_default(1024*1024*1024) | |
2988 | .set_description(""), | |
c07f9fc5 | 2989 | |
d2e6a577 | 2990 | Option("memstore_page_set", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
35e4c445 | 2991 | .set_default(false) |
d2e6a577 | 2992 | .set_description(""), |
c07f9fc5 | 2993 | |
d2e6a577 FG |
2994 | Option("memstore_page_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
2995 | .set_default(64 << 10) | |
2996 | .set_description(""), | |
c07f9fc5 | 2997 | |
d2e6a577 FG |
2998 | Option("objectstore_blackhole", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
2999 | .set_default(false) | |
3000 | .set_description(""), | |
c07f9fc5 | 3001 | |
d2e6a577 FG |
3002 | // -------------------------- |
3003 | // bluestore | |
c07f9fc5 | 3004 | |
d2e6a577 FG |
3005 | Option("bdev_debug_inflight_ios", Option::TYPE_BOOL, Option::LEVEL_DEV) |
3006 | .set_default(false) | |
3007 | .set_description(""), | |
c07f9fc5 | 3008 | |
d2e6a577 FG |
3009 | Option("bdev_inject_crash", Option::TYPE_INT, Option::LEVEL_DEV) |
3010 | .set_default(0) | |
3011 | .set_description(""), | |
c07f9fc5 | 3012 | |
d2e6a577 FG |
3013 | Option("bdev_inject_crash_flush_delay", Option::TYPE_INT, Option::LEVEL_DEV) |
3014 | .set_default(2) | |
3015 | .set_description(""), | |
c07f9fc5 | 3016 | |
d2e6a577 FG |
3017 | Option("bdev_aio", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3018 | .set_default(true) | |
3019 | .set_description(""), | |
c07f9fc5 | 3020 | |
d2e6a577 FG |
3021 | Option("bdev_aio_poll_ms", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3022 | .set_default(250) | |
3023 | .set_description(""), | |
c07f9fc5 | 3024 | |
d2e6a577 FG |
3025 | Option("bdev_aio_max_queue_depth", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3026 | .set_default(1024) | |
3027 | .set_description(""), | |
c07f9fc5 | 3028 | |
d2e6a577 FG |
3029 | Option("bdev_aio_reap_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3030 | .set_default(16) | |
3031 | .set_description(""), | |
c07f9fc5 | 3032 | |
d2e6a577 FG |
3033 | Option("bdev_block_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3034 | .set_default(4096) | |
3035 | .set_description(""), | |
c07f9fc5 | 3036 | |
d2e6a577 FG |
3037 | Option("bdev_debug_aio", Option::TYPE_BOOL, Option::LEVEL_DEV) |
3038 | .set_default(false) | |
3039 | .set_description(""), | |
c07f9fc5 | 3040 | |
d2e6a577 FG |
3041 | Option("bdev_debug_aio_suicide_timeout", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
3042 | .set_default(60.0) | |
3043 | .set_description(""), | |
c07f9fc5 | 3044 | |
d2e6a577 FG |
3045 | Option("bdev_nvme_unbind_from_kernel", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3046 | .set_default(false) | |
3047 | .set_description(""), | |
c07f9fc5 | 3048 | |
d2e6a577 FG |
3049 | Option("bdev_nvme_retry_count", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3050 | .set_default(-1) | |
3051 | .set_description(""), | |
c07f9fc5 | 3052 | |
d2e6a577 FG |
3053 | Option("bluefs_alloc_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3054 | .set_default(1048576) | |
3055 | .set_description(""), | |
3056 | ||
3057 | Option("bluefs_max_prefetch", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3058 | .set_default(1048576) | |
3059 | .set_description(""), | |
3060 | ||
3061 | Option("bluefs_min_log_runway", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3062 | .set_default(1048576) | |
3063 | .set_description(""), | |
3064 | ||
3065 | Option("bluefs_max_log_runway", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3066 | .set_default(4194304) | |
3067 | .set_description(""), | |
3068 | ||
3069 | Option("bluefs_log_compact_min_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3070 | .set_default(5.0) | |
3071 | .set_description(""), | |
3072 | ||
3073 | Option("bluefs_log_compact_min_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3074 | .set_default(16*1048576) | |
3075 | .set_description(""), | |
3076 | ||
3077 | Option("bluefs_min_flush_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3078 | .set_default(524288) | |
3079 | .set_description(""), | |
3080 | ||
3081 | Option("bluefs_compact_log_sync", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3082 | .set_default(false) | |
3083 | .set_description(""), | |
3084 | ||
3085 | Option("bluefs_buffered_io", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3086 | .set_default(false) | |
3087 | .set_description(""), | |
3088 | ||
3089 | Option("bluefs_sync_write", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3090 | .set_default(false) | |
3091 | .set_description(""), | |
3092 | ||
3093 | Option("bluefs_allocator", Option::TYPE_STR, Option::LEVEL_DEV) | |
181888fb | 3094 | .set_default("stupid") |
d2e6a577 FG |
3095 | .set_description(""), |
3096 | ||
3097 | Option("bluefs_preextend_wal_files", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3098 | .set_default(false) | |
3099 | .set_description(""), | |
3100 | ||
3101 | Option("bluestore_bluefs", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3102 | .set_default(true) | |
3103 | .add_tag("mkfs") | |
3104 | .set_description("Use BlueFS to back rocksdb") | |
3105 | .set_long_description("BlueFS allows rocksdb to share the same physical device(s) as the rest of BlueStore. It should be used in all cases unless testing/developing an alternative metadata database for BlueStore."), | |
3106 | ||
3107 | Option("bluestore_bluefs_env_mirror", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3108 | .set_default(false) | |
3109 | .add_tag("mkfs") | |
3110 | .set_description("Mirror bluefs data to file system for testing/validation"), | |
3111 | ||
3112 | Option("bluestore_bluefs_min", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3113 | .set_default(1*1024*1024*1024) | |
3114 | .set_description("minimum disk space allocated to BlueFS (e.g., at mkfs)"), | |
3115 | ||
3116 | Option("bluestore_bluefs_min_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3117 | .set_default(.02) | |
3118 | .set_description("Minimum fraction of free space devoted to BlueFS"), | |
3119 | ||
3120 | Option("bluestore_bluefs_max_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3121 | .set_default(.90) | |
3122 | .set_description("Maximum fraction of free storage devoted to BlueFS"), | |
3123 | ||
3124 | Option("bluestore_bluefs_gift_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3125 | .set_default(.02) | |
3126 | .set_description("Maximum fraction of free space to give to BlueFS at once"), | |
3127 | ||
3128 | Option("bluestore_bluefs_reclaim_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3129 | .set_default(.20) | |
3130 | .set_description("Maximum fraction of free space to reclaim from BlueFS at once"), | |
3131 | ||
3132 | Option("bluestore_bluefs_balance_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3133 | .set_default(1) | |
3134 | .set_description("How frequently (in seconds) to balance free space between BlueFS and BlueStore"), | |
3135 | ||
3136 | Option("bluestore_spdk_mem", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3137 | .set_default(512) | |
3138 | .set_description(""), | |
3139 | ||
3140 | Option("bluestore_spdk_coremask", Option::TYPE_STR, Option::LEVEL_DEV) | |
3141 | .set_default("0x3") | |
3142 | .set_description(""), | |
3143 | ||
3144 | Option("bluestore_spdk_max_io_completion", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3145 | .set_default(0) | |
3146 | .set_description(""), | |
3147 | ||
3148 | Option("bluestore_block_path", Option::TYPE_STR, Option::LEVEL_DEV) | |
3149 | .set_default("") | |
3150 | .add_tag("mkfs") | |
3151 | .set_description("Path to block device/file"), | |
3152 | ||
3153 | Option("bluestore_block_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3154 | .set_default(10ull * 1024*1024*1024) | |
3155 | .add_tag("mkfs") | |
3156 | .set_description("Size of file to create for backing bluestore"), | |
3157 | ||
3158 | Option("bluestore_block_create", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3159 | .set_default(true) | |
3160 | .add_tag("mkfs") | |
3161 | .set_description("Create bluestore_block_path if it doesn't exist") | |
3162 | .add_see_also("bluestore_block_path").add_see_also("bluestore_block_size"), | |
3163 | ||
3164 | Option("bluestore_block_db_path", Option::TYPE_STR, Option::LEVEL_DEV) | |
3165 | .set_default("") | |
3166 | .add_tag("mkfs") | |
3167 | .set_description("Path for db block device"), | |
3168 | ||
3169 | Option("bluestore_block_db_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3170 | .set_default(0) | |
3171 | .add_tag("mkfs") | |
3172 | .set_description("Size of file to create for bluestore_block_db_path"), | |
3173 | ||
3174 | Option("bluestore_block_db_create", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3175 | .set_default(false) | |
3176 | .add_tag("mkfs") | |
3177 | .set_description("Create bluestore_block_db_path if it doesn't exist") | |
3178 | .add_see_also("bluestore_block_db_path") | |
3179 | .add_see_also("bluestore_block_db_size"), | |
3180 | ||
3181 | Option("bluestore_block_wal_path", Option::TYPE_STR, Option::LEVEL_DEV) | |
3182 | .set_default("") | |
3183 | .add_tag("mkfs") | |
3184 | .set_description("Path to block device/file backing bluefs wal"), | |
3185 | ||
3186 | Option("bluestore_block_wal_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3187 | .set_default(96 * 1024*1024) | |
3188 | .add_tag("mkfs") | |
3189 | .set_description("Size of file to create for bluestore_block_wal_path"), | |
3190 | ||
3191 | Option("bluestore_block_wal_create", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3192 | .set_default(false) | |
3193 | .add_tag("mkfs") | |
3194 | .set_description("Create bluestore_block_wal_path if it doesn't exist") | |
3195 | .add_see_also("bluestore_block_wal_path") | |
3196 | .add_see_also("bluestore_block_wal_size"), | |
3197 | ||
3198 | Option("bluestore_block_preallocate_file", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3199 | .set_default(false) | |
3200 | .add_tag("mkfs") | |
3201 | .set_description("Preallocate file created via bluestore_block*_create"), | |
3202 | ||
3203 | Option("bluestore_csum_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
3204 | .set_default("crc32c") | |
3205 | .set_enum_allowed({"none", "crc32c", "crc32c_16", "crc32c_8", "xxhash32", "xxhash64"}) | |
3206 | .set_safe() | |
3207 | .set_description("Default checksum algorithm to use") | |
3208 | .set_long_description("crc32c, xxhash32, and xxhash64 are available. The _16 and _8 variants use only a subset of the bits for more compact (but less reliable) checksumming."), | |
3209 | ||
3210 | Option("bluestore_csum_min_block", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3211 | .set_default(4096) | |
3212 | .set_safe() | |
3213 | .set_description("Minimum block size to checksum") | |
3214 | .set_long_description("A larger checksum block means less checksum metadata to store, but results in read amplification when doing a read smaller than this size (because the entire block must be read to verify the checksum).") | |
3215 | .add_see_also("bluestore_csum_max_block"), | |
3216 | ||
3217 | Option("bluestore_csum_max_block", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3218 | .set_default(64*1024) | |
3219 | .set_safe() | |
3220 | .set_description("Maximum block size to checksum") | |
3221 | .add_see_also("bluestore_csum_min_block"), | |
3222 | ||
3223 | Option("bluestore_min_alloc_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3224 | .set_default(0) | |
3225 | .add_tag("mkfs") | |
3226 | .set_description("Minimum allocation size to allocate for an object") | |
3227 | .set_long_description("A smaller allocation size generally means less data is read and then rewritten when a copy-on-write operation is triggered (e.g., when writing to something that was recently snapshotted). Similarly, less data is journaled before performing an overwrite (writes smaller than min_alloc_size must first pass through the BlueStore journal). Larger values of min_alloc_size reduce the amount of metadata required to describe the on-disk layout and reduce overall fragmentation."), | |
3228 | ||
3229 | Option("bluestore_min_alloc_size_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3230 | .set_default(64*1024) | |
3231 | .add_tag("mkfs") | |
3232 | .set_description("Default min_alloc_size value for rotational media"), | |
3233 | ||
3234 | Option("bluestore_min_alloc_size_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3235 | .set_default(16*1024) | |
3236 | .add_tag("mkfs") | |
3237 | .set_description("Default min_alloc_size value for non-rotational (solid state) media"), | |
3238 | ||
3239 | Option("bluestore_max_alloc_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3240 | .set_default(0) | |
3241 | .add_tag("mkfs") | |
3242 | .set_description("Maximum size of a single allocation (0 for no max)"), | |
3243 | ||
3244 | Option("bluestore_prefer_deferred_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3245 | .set_default(0) | |
3246 | .set_safe() | |
3247 | .set_description("Writes smaller than this size will be written to the journal and then asynchronously written to the device. This can be beneficial when using rotational media where seeks are expensive, and is helpful both with and without solid state journal/wal devices."), | |
3248 | ||
3249 | Option("bluestore_prefer_deferred_size_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3250 | .set_default(32768) | |
3251 | .set_safe() | |
3252 | .set_description("Default bluestore_prefer_deferred_size for rotational media"), | |
3253 | ||
3254 | Option("bluestore_prefer_deferred_size_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3255 | .set_default(0) | |
3256 | .set_safe() | |
3257 | .set_description("Default bluestore_prefer_deferred_size for non-rotational (solid state) media"), | |
3258 | ||
3259 | Option("bluestore_compression_mode", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
3260 | .set_default("none") | |
3261 | .set_enum_allowed({"none", "passive", "aggressive", "force"}) | |
3262 | .set_safe() | |
3263 | .set_description("Default policy for using compression when pool does not specify") | |
3264 | .set_long_description("'none' means never use compression. 'passive' means use compression when clients hint that data is compressible. 'aggressive' means use compression unless clients hint that data is not compressible. This option is used when the per-pool property for the compression mode is not present."), | |
3265 | ||
3266 | Option("bluestore_compression_algorithm", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
3267 | .set_default("snappy") | |
3268 | .set_enum_allowed({"", "snappy", "zlib", "zstd", "lz4"}) | |
3269 | .set_safe() | |
3270 | .set_description("Default compression algorithm to use when writing object data") | |
3271 | .set_long_description("This controls the default compressor to use (if any) if the per-pool property is not set. Note that zstd is *not* recommended for bluestore due to high CPU overhead when compressing small amounts of data."), | |
3272 | ||
3273 | Option("bluestore_compression_min_blob_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3274 | .set_default(0) | |
3275 | .set_safe() | |
3276 | .set_description("Chunks smaller than this are never compressed"), | |
3277 | ||
3278 | Option("bluestore_compression_min_blob_size_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3279 | .set_default(128*1024) | |
3280 | .set_safe() | |
3281 | .set_description("Default value of bluestore_compression_min_blob_size for rotational media"), | |
3282 | ||
3283 | Option("bluestore_compression_min_blob_size_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3284 | .set_default(8*1024) | |
3285 | .set_safe() | |
3286 | .set_description("Default value of bluestore_compression_min_blob_size for non-rotational (solid state) media"), | |
3287 | ||
3288 | Option("bluestore_compression_max_blob_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3289 | .set_default(0) | |
3290 | .set_safe() | |
3291 | .set_description("Chunks larger than this are broken into smaller chunks before being compressed"), | |
3292 | ||
3293 | Option("bluestore_compression_max_blob_size_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3294 | .set_default(512*1024) | |
3295 | .set_safe() | |
3296 | .set_description("Default value of bluestore_compression_max_blob_size for rotational media"), | |
3297 | ||
3298 | Option("bluestore_compression_max_blob_size_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3299 | .set_default(64*1024) | |
3300 | .set_safe() | |
3301 | .set_description("Default value of bluestore_compression_max_blob_size for non-rotational (solid state) media"), | |
3302 | ||
3303 | Option("bluestore_gc_enable_blob_threshold", Option::TYPE_INT, Option::LEVEL_DEV) | |
3304 | .set_default(0) | |
3305 | .set_safe() | |
3306 | .set_description(""), | |
3307 | ||
3308 | Option("bluestore_gc_enable_total_threshold", Option::TYPE_INT, Option::LEVEL_DEV) | |
3309 | .set_default(0) | |
3310 | .set_safe() | |
3311 | .set_description(""), | |
3312 | ||
3313 | Option("bluestore_max_blob_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3314 | .set_default(0) | |
3315 | .set_safe() | |
3316 | .set_description(""), | |
3317 | ||
3318 | Option("bluestore_max_blob_size_hdd", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3319 | .set_default(512*1024) | |
3320 | .set_safe() | |
3321 | .set_description(""), | |
3322 | ||
3323 | Option("bluestore_max_blob_size_ssd", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3324 | .set_default(64*1024) | |
3325 | .set_safe() | |
3326 | .set_description(""), | |
3327 | ||
3328 | Option("bluestore_compression_required_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3329 | .set_default(.875) | |
3330 | .set_safe() | |
3331 | .set_description("Compression ratio required to store compressed data") | |
3332 | .set_long_description("If we compress data and get less than this we discard the result and store the original uncompressed data."), | |
3333 | ||
3334 | Option("bluestore_extent_map_shard_max_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3335 | .set_default(1200) | |
3336 | .set_description("Max size (bytes) for a single extent map shard before splitting"), | |
3337 | ||
3338 | Option("bluestore_extent_map_shard_target_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3339 | .set_default(500) | |
3340 | .set_description("Target size (bytes) for a single extent map shard"), | |
3341 | ||
3342 | Option("bluestore_extent_map_shard_min_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3343 | .set_default(150) | |
3344 | .set_description("Min size (bytes) for a single extent map shard before merging"), | |
3345 | ||
3346 | Option("bluestore_extent_map_shard_target_size_slop", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
3347 | .set_default(.2) | |
3348 | .set_description("Ratio above/below target for a shard when trying to align to an existing extent or blob boundary"), | |
3349 | ||
3350 | Option("bluestore_extent_map_inline_shard_prealloc_size", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3351 | .set_default(256) | |
3352 | .set_description("Preallocated buffer for inline shards"), | |
3353 | ||
3354 | Option("bluestore_cache_trim_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3355 | .set_default(.2) | |
3356 | .set_description("How frequently we trim the bluestore cache"), | |
3357 | ||
3358 | Option("bluestore_cache_trim_max_skip_pinned", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3359 | .set_default(64) | |
3360 | .set_description("Max pinned cache entries we consider before giving up"), | |
3361 | ||
3362 | Option("bluestore_cache_type", Option::TYPE_STR, Option::LEVEL_DEV) | |
3363 | .set_default("2q") | |
3364 | .set_enum_allowed({"2q", "lru"}) | |
3365 | .set_description("Cache replacement algorithm"), | |
3366 | ||
3367 | Option("bluestore_2q_cache_kin_ratio", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
3368 | .set_default(.5) | |
3369 | .set_description("2Q paper suggests .5"), | |
3370 | ||
3371 | Option("bluestore_2q_cache_kout_ratio", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
3372 | .set_default(.5) | |
3373 | .set_description("2Q paper suggests .5"), | |
3374 | ||
3375 | Option("bluestore_cache_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3376 | .set_default(0) | |
3377 | .set_description("Cache size (in bytes) for BlueStore") | |
3378 | .set_long_description("This includes data and metadata cached by BlueStore as well as memory devoted to rocksdb's cache(s)."), | |
3379 | ||
3380 | Option("bluestore_cache_size_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3381 | .set_default(1ull*1024*1024*1024) | |
3382 | .set_description("Default bluestore_cache_size for rotational media"), | |
3383 | ||
3384 | Option("bluestore_cache_size_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3385 | .set_default(3ull*1024*1024*1024) | |
3386 | .set_description("Default bluestore_cache_size for non-rotational (solid state) media"), | |
3387 | ||
3388 | Option("bluestore_cache_meta_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3389 | .set_default(.01) | |
3390 | .set_description("Ratio of bluestore cache to devote to metadata"), | |
3391 | ||
3392 | Option("bluestore_cache_kv_ratio", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
3393 | .set_default(.99) | |
3394 | .set_description("Ratio of bluestore cache to devote to kv database (rocksdb)"), | |
3395 | ||
3396 | Option("bluestore_cache_kv_max", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3397 | .set_default(512*1024*1024) | |
3398 | .set_description("Max memory (bytes) to devote to kv database (rocksdb)"), | |
3399 | ||
3400 | Option("bluestore_kvbackend", Option::TYPE_STR, Option::LEVEL_DEV) | |
3401 | .set_default("rocksdb") | |
3402 | .add_tag("mkfs") | |
3403 | .set_description("Key value database to use for bluestore"), | |
3404 | ||
3405 | Option("bluestore_allocator", Option::TYPE_STR, Option::LEVEL_DEV) | |
181888fb FG |
3406 | .set_default("stupid") |
3407 | .set_enum_allowed({"bitmap", "stupid"}) | |
3408 | .set_description("Allocator policy"), | |
d2e6a577 FG |
3409 | |
3410 | Option("bluestore_freelist_blocks_per_key", Option::TYPE_INT, Option::LEVEL_DEV) | |
3411 | .set_default(128) | |
3412 | .set_description("Block (and bits) per database key"), | |
3413 | ||
3414 | Option("bluestore_bitmapallocator_blocks_per_zone", Option::TYPE_INT, Option::LEVEL_DEV) | |
3415 | .set_default(1024) | |
3416 | .set_description(""), | |
3417 | ||
3418 | Option("bluestore_bitmapallocator_span_size", Option::TYPE_INT, Option::LEVEL_DEV) | |
3419 | .set_default(1024) | |
3420 | .set_description(""), | |
3421 | ||
3422 | Option("bluestore_max_deferred_txc", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3423 | .set_default(32) | |
3424 | .set_description("Max transactions with deferred writes that can accumulate before we force flush deferred writes"), | |
3425 | ||
3426 | Option("bluestore_rocksdb_options", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
3427 | .set_default("compression=kNoCompression,max_write_buffer_number=4,min_write_buffer_number_to_merge=1,recycle_log_file_num=4,write_buffer_size=268435456,writable_file_max_buffer_size=0,compaction_readahead_size=2097152") | |
3428 | .set_description("Rocksdb options"), | |
3429 | ||
3430 | Option("bluestore_fsck_on_mount", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3431 | .set_default(false) | |
3432 | .set_description("Run fsck at mount"), | |
3433 | ||
3434 | Option("bluestore_fsck_on_mount_deep", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3435 | .set_default(true) | |
3436 | .set_description("Run deep fsck at mount"), | |
3437 | ||
3438 | Option("bluestore_fsck_on_umount", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3439 | .set_default(false) | |
3440 | .set_description("Run fsck at umount"), | |
3441 | ||
3442 | Option("bluestore_fsck_on_umount_deep", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3443 | .set_default(true) | |
3444 | .set_description("Run deep fsck at umount"), | |
3445 | ||
3446 | Option("bluestore_fsck_on_mkfs", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3447 | .set_default(true) | |
3448 | .set_description("Run fsck after mkfs"), | |
3449 | ||
3450 | Option("bluestore_fsck_on_mkfs_deep", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3451 | .set_default(false) | |
3452 | .set_description("Run deep fsck after mkfs"), | |
3453 | ||
3454 | Option("bluestore_sync_submit_transaction", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3455 | .set_default(false) | |
3456 | .set_description("Try to submit metadata transaction to rocksdb in queuing thread context"), | |
3457 | ||
3458 | Option("bluestore_throttle_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3459 | .set_default(64*1024*1024) | |
3460 | .set_safe() | |
3461 | .set_description("Maximum bytes in flight before we throttle IO submission"), | |
3462 | ||
3463 | Option("bluestore_throttle_deferred_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3464 | .set_default(128*1024*1024) | |
3465 | .set_safe() | |
3466 | .set_description("Maximum bytes for deferred writes before we throttle IO submission"), | |
3467 | ||
3468 | Option("bluestore_throttle_cost_per_io", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3469 | .set_default(0) | |
3470 | .set_safe() | |
3471 | .set_description("Overhead added to transaction cost (in bytes) for each IO"), | |
3472 | ||
3473 | Option("bluestore_throttle_cost_per_io_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3474 | .set_default(670000) | |
3475 | .set_safe() | |
3476 | .set_description("Default bluestore_throttle_cost_per_io for rotational media"), | |
3477 | ||
3478 | Option("bluestore_throttle_cost_per_io_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3479 | .set_default(4000) | |
3480 | .set_safe() | |
3481 | .set_description("Default bluestore_throttle_cost_per_io for non-rotation (solid state) media"), | |
3482 | ||
3483 | ||
3484 | Option("bluestore_deferred_batch_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3485 | .set_default(0) | |
3486 | .set_safe() | |
3487 | .set_description("Max number of deferred writes before we flush the deferred write queue"), | |
3488 | ||
3489 | Option("bluestore_deferred_batch_ops_hdd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3490 | .set_default(64) | |
3491 | .set_safe() | |
3492 | .set_description("Default bluestore_deferred_batch_ops for rotational media"), | |
3493 | ||
3494 | Option("bluestore_deferred_batch_ops_ssd", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3495 | .set_default(16) | |
3496 | .set_safe() | |
3497 | .set_description("Default bluestore_deferred_batch_ops for non-rotational (solid state) media"), | |
3498 | ||
3499 | Option("bluestore_nid_prealloc", Option::TYPE_INT, Option::LEVEL_DEV) | |
3500 | .set_default(1024) | |
3501 | .set_description("Number of unique object ids to preallocate at a time"), | |
3502 | ||
3503 | Option("bluestore_blobid_prealloc", Option::TYPE_UINT, Option::LEVEL_DEV) | |
3504 | .set_default(10240) | |
3505 | .set_description("Number of unique blob ids to preallocate at a time"), | |
3506 | ||
3507 | Option("bluestore_clone_cow", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3508 | .set_default(true) | |
3509 | .set_safe() | |
3510 | .set_description("Use copy-on-write when cloning objects (versus reading and rewriting them at clone time)"), | |
3511 | ||
3512 | Option("bluestore_default_buffered_read", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3513 | .set_default(true) | |
3514 | .set_safe() | |
3515 | .set_description("Cache read results by default (unless hinted NOCACHE or WONTNEED)"), | |
3516 | ||
3517 | Option("bluestore_default_buffered_write", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
3518 | .set_default(false) | |
3519 | .set_safe() | |
3520 | .set_description("Cache writes by default (unless hinted NOCACHE or WONTNEED)"), | |
3521 | ||
3522 | Option("bluestore_debug_misc", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3523 | .set_default(false) | |
3524 | .set_description(""), | |
3525 | ||
3526 | Option("bluestore_debug_no_reuse_blocks", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3527 | .set_default(false) | |
3528 | .set_description(""), | |
3529 | ||
3530 | Option("bluestore_debug_small_allocations", Option::TYPE_INT, Option::LEVEL_DEV) | |
3531 | .set_default(0) | |
3532 | .set_description(""), | |
3533 | ||
3534 | Option("bluestore_debug_freelist", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3535 | .set_default(false) | |
3536 | .set_description(""), | |
3537 | ||
3538 | Option("bluestore_debug_prefill", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
3539 | .set_default(0) | |
3540 | .set_description("simulate fragmentation"), | |
3541 | ||
3542 | Option("bluestore_debug_prefragment_max", Option::TYPE_INT, Option::LEVEL_DEV) | |
3543 | .set_default(1048576) | |
3544 | .set_description(""), | |
3545 | ||
3546 | Option("bluestore_debug_inject_read_err", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3547 | .set_default(false) | |
3548 | .set_description(""), | |
3549 | ||
3550 | Option("bluestore_debug_randomize_serial_transaction", Option::TYPE_INT, Option::LEVEL_DEV) | |
3551 | .set_default(0) | |
3552 | .set_description(""), | |
3553 | ||
3554 | Option("bluestore_debug_omit_block_device_write", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3555 | .set_default(false) | |
3556 | .set_description(""), | |
3557 | ||
3558 | Option("bluestore_debug_fsck_abort", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3559 | .set_default(false) | |
3560 | .set_description(""), | |
3561 | ||
3562 | Option("bluestore_debug_omit_kv_commit", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3563 | .set_default(false) | |
3564 | .set_description(""), | |
3565 | ||
3566 | Option("bluestore_debug_permit_any_bdev_label", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3567 | .set_default(false) | |
3568 | .set_description(""), | |
3569 | ||
3570 | Option("bluestore_shard_finishers", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
3571 | .set_default(false) | |
3572 | .set_description(""), | |
3573 | ||
3574 | Option("bluestore_debug_random_read_err", Option::TYPE_FLOAT, Option::LEVEL_DEV) | |
3575 | .set_default(0) | |
3576 | .set_description(""), | |
c07f9fc5 | 3577 | |
d2e6a577 FG |
3578 | // ----------------------------------------- |
3579 | // kstore | |
c07f9fc5 | 3580 | |
d2e6a577 FG |
3581 | Option("kstore_max_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3582 | .set_default(512) | |
3583 | .set_description(""), | |
3584 | ||
3585 | Option("kstore_max_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
3586 | .set_default(64*1024*1024) | |
3587 | .set_description(""), | |
c07f9fc5 | 3588 | |
d2e6a577 FG |
3589 | Option("kstore_backend", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
3590 | .set_default("rocksdb") | |
3591 | .set_description(""), | |
c07f9fc5 | 3592 | |
d2e6a577 FG |
3593 | Option("kstore_rocksdb_options", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
3594 | .set_default("compression=kNoCompression") | |
3595 | .set_description(""), | |
c07f9fc5 | 3596 | |
d2e6a577 FG |
3597 | Option("kstore_fsck_on_mount", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3598 | .set_default(false) | |
3599 | .set_description(""), | |
c07f9fc5 | 3600 | |
d2e6a577 FG |
3601 | Option("kstore_fsck_on_mount_deep", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3602 | .set_default(true) | |
3603 | .set_description(""), | |
c07f9fc5 | 3604 | |
d2e6a577 FG |
3605 | Option("kstore_nid_prealloc", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3606 | .set_default(1024) | |
3607 | .set_description(""), | |
c07f9fc5 | 3608 | |
d2e6a577 FG |
3609 | Option("kstore_sync_transaction", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3610 | .set_default(false) | |
3611 | .set_description(""), | |
c07f9fc5 | 3612 | |
d2e6a577 FG |
3613 | Option("kstore_sync_submit_transaction", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3614 | .set_default(false) | |
3615 | .set_description(""), | |
c07f9fc5 | 3616 | |
d2e6a577 FG |
3617 | Option("kstore_onode_map_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3618 | .set_default(1024) | |
3619 | .set_description(""), | |
c07f9fc5 | 3620 | |
d2e6a577 FG |
3621 | Option("kstore_default_stripe_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3622 | .set_default(65536) | |
3623 | .set_description(""), | |
c07f9fc5 | 3624 | |
d2e6a577 FG |
3625 | // --------------------- |
3626 | // filestore | |
c07f9fc5 | 3627 | |
d2e6a577 FG |
3628 | Option("filestore_rocksdb_options", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
3629 | .set_default("") | |
3630 | .set_description(""), | |
c07f9fc5 | 3631 | |
d2e6a577 FG |
3632 | Option("filestore_omap_backend", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
3633 | .set_default("rocksdb") | |
3634 | .set_description(""), | |
c07f9fc5 | 3635 | |
d2e6a577 FG |
3636 | Option("filestore_omap_backend_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
3637 | .set_default("") | |
3638 | .set_description(""), | |
c07f9fc5 | 3639 | |
d2e6a577 FG |
3640 | Option("filestore_wbthrottle_enable", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3641 | .set_default(true) | |
3642 | .set_description(""), | |
c07f9fc5 | 3643 | |
d2e6a577 FG |
3644 | Option("filestore_wbthrottle_btrfs_bytes_start_flusher", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3645 | .set_default(41943040) | |
3646 | .set_description(""), | |
c07f9fc5 | 3647 | |
d2e6a577 FG |
3648 | Option("filestore_wbthrottle_btrfs_bytes_hard_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3649 | .set_default(419430400) | |
3650 | .set_description(""), | |
c07f9fc5 | 3651 | |
d2e6a577 FG |
3652 | Option("filestore_wbthrottle_btrfs_ios_start_flusher", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3653 | .set_default(500) | |
3654 | .set_description(""), | |
c07f9fc5 | 3655 | |
d2e6a577 FG |
3656 | Option("filestore_wbthrottle_btrfs_ios_hard_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3657 | .set_default(5000) | |
3658 | .set_description(""), | |
c07f9fc5 | 3659 | |
d2e6a577 FG |
3660 | Option("filestore_wbthrottle_btrfs_inodes_start_flusher", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3661 | .set_default(500) | |
3662 | .set_description(""), | |
c07f9fc5 | 3663 | |
d2e6a577 FG |
3664 | Option("filestore_wbthrottle_xfs_bytes_start_flusher", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3665 | .set_default(41943040) | |
3666 | .set_description(""), | |
c07f9fc5 | 3667 | |
d2e6a577 FG |
3668 | Option("filestore_wbthrottle_xfs_bytes_hard_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3669 | .set_default(419430400) | |
3670 | .set_description(""), | |
c07f9fc5 | 3671 | |
d2e6a577 FG |
3672 | Option("filestore_wbthrottle_xfs_ios_start_flusher", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3673 | .set_default(500) | |
3674 | .set_description(""), | |
c07f9fc5 | 3675 | |
d2e6a577 FG |
3676 | Option("filestore_wbthrottle_xfs_ios_hard_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3677 | .set_default(5000) | |
3678 | .set_description(""), | |
c07f9fc5 | 3679 | |
d2e6a577 FG |
3680 | Option("filestore_wbthrottle_xfs_inodes_start_flusher", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3681 | .set_default(500) | |
3682 | .set_description(""), | |
c07f9fc5 | 3683 | |
d2e6a577 FG |
3684 | Option("filestore_wbthrottle_btrfs_inodes_hard_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3685 | .set_default(5000) | |
3686 | .set_description(""), | |
c07f9fc5 | 3687 | |
d2e6a577 FG |
3688 | Option("filestore_wbthrottle_xfs_inodes_hard_limit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3689 | .set_default(5000) | |
3690 | .set_description(""), | |
c07f9fc5 | 3691 | |
d2e6a577 FG |
3692 | Option("filestore_odsync_write", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3693 | .set_default(false) | |
3694 | .set_description(""), | |
c07f9fc5 | 3695 | |
d2e6a577 FG |
3696 | Option("filestore_index_retry_probability", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3697 | .set_default(0) | |
3698 | .set_description(""), | |
c07f9fc5 | 3699 | |
d2e6a577 FG |
3700 | Option("filestore_debug_inject_read_err", Option::TYPE_BOOL, Option::LEVEL_DEV) |
3701 | .set_default(false) | |
3702 | .set_description(""), | |
c07f9fc5 | 3703 | |
d2e6a577 FG |
3704 | Option("filestore_debug_random_read_err", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
3705 | .set_default(0) | |
3706 | .set_description(""), | |
c07f9fc5 | 3707 | |
d2e6a577 FG |
3708 | Option("filestore_debug_omap_check", Option::TYPE_BOOL, Option::LEVEL_DEV) |
3709 | .set_default(false) | |
3710 | .set_description(""), | |
c07f9fc5 | 3711 | |
d2e6a577 FG |
3712 | Option("filestore_omap_header_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3713 | .set_default(1024) | |
3714 | .set_description(""), | |
c07f9fc5 | 3715 | |
d2e6a577 FG |
3716 | Option("filestore_max_inline_xattr_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3717 | .set_default(0) | |
3718 | .set_description(""), | |
c07f9fc5 | 3719 | |
d2e6a577 FG |
3720 | Option("filestore_max_inline_xattr_size_xfs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3721 | .set_default(65536) | |
3722 | .set_description(""), | |
c07f9fc5 | 3723 | |
d2e6a577 FG |
3724 | Option("filestore_max_inline_xattr_size_btrfs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3725 | .set_default(2048) | |
3726 | .set_description(""), | |
c07f9fc5 | 3727 | |
d2e6a577 FG |
3728 | Option("filestore_max_inline_xattr_size_other", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3729 | .set_default(512) | |
3730 | .set_description(""), | |
c07f9fc5 | 3731 | |
d2e6a577 FG |
3732 | Option("filestore_max_inline_xattrs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3733 | .set_default(0) | |
3734 | .set_description(""), | |
c07f9fc5 | 3735 | |
d2e6a577 FG |
3736 | Option("filestore_max_inline_xattrs_xfs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3737 | .set_default(10) | |
3738 | .set_description(""), | |
c07f9fc5 | 3739 | |
d2e6a577 FG |
3740 | Option("filestore_max_inline_xattrs_btrfs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3741 | .set_default(10) | |
3742 | .set_description(""), | |
c07f9fc5 | 3743 | |
d2e6a577 FG |
3744 | Option("filestore_max_inline_xattrs_other", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3745 | .set_default(2) | |
3746 | .set_description(""), | |
c07f9fc5 | 3747 | |
d2e6a577 FG |
3748 | Option("filestore_max_xattr_value_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3749 | .set_default(0) | |
3750 | .set_description(""), | |
c07f9fc5 | 3751 | |
d2e6a577 FG |
3752 | Option("filestore_max_xattr_value_size_xfs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3753 | .set_default(64<<10) | |
3754 | .set_description(""), | |
c07f9fc5 | 3755 | |
d2e6a577 FG |
3756 | Option("filestore_max_xattr_value_size_btrfs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3757 | .set_default(64<<10) | |
3758 | .set_description(""), | |
c07f9fc5 | 3759 | |
d2e6a577 FG |
3760 | Option("filestore_max_xattr_value_size_other", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3761 | .set_default(1<<10) | |
3762 | .set_description(""), | |
c07f9fc5 | 3763 | |
d2e6a577 FG |
3764 | Option("filestore_sloppy_crc", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3765 | .set_default(false) | |
3766 | .set_description(""), | |
c07f9fc5 | 3767 | |
d2e6a577 FG |
3768 | Option("filestore_sloppy_crc_block_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3769 | .set_default(65536) | |
3770 | .set_description(""), | |
c07f9fc5 | 3771 | |
d2e6a577 FG |
3772 | Option("filestore_max_alloc_hint_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3773 | .set_default(1ULL << 20) | |
3774 | .set_description(""), | |
c07f9fc5 | 3775 | |
d2e6a577 FG |
3776 | Option("filestore_max_sync_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3777 | .set_default(5) | |
3778 | .set_description(""), | |
c07f9fc5 | 3779 | |
d2e6a577 FG |
3780 | Option("filestore_min_sync_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3781 | .set_default(.01) | |
3782 | .set_description(""), | |
c07f9fc5 | 3783 | |
d2e6a577 FG |
3784 | Option("filestore_btrfs_snap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3785 | .set_default(true) | |
3786 | .set_description(""), | |
c07f9fc5 | 3787 | |
d2e6a577 FG |
3788 | Option("filestore_btrfs_clone_range", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3789 | .set_default(true) | |
3790 | .set_description(""), | |
c07f9fc5 | 3791 | |
d2e6a577 FG |
3792 | Option("filestore_zfs_snap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3793 | .set_default(false) | |
3794 | .set_description(""), | |
c07f9fc5 | 3795 | |
d2e6a577 FG |
3796 | Option("filestore_fsync_flushes_journal_data", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3797 | .set_default(false) | |
3798 | .set_description(""), | |
c07f9fc5 | 3799 | |
d2e6a577 FG |
3800 | Option("filestore_fiemap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3801 | .set_default(false) | |
3802 | .set_description(""), | |
c07f9fc5 | 3803 | |
d2e6a577 FG |
3804 | Option("filestore_punch_hole", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3805 | .set_default(false) | |
3806 | .set_description(""), | |
c07f9fc5 | 3807 | |
d2e6a577 FG |
3808 | Option("filestore_seek_data_hole", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3809 | .set_default(false) | |
3810 | .set_description(""), | |
c07f9fc5 | 3811 | |
d2e6a577 FG |
3812 | Option("filestore_splice", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3813 | .set_default(false) | |
3814 | .set_description(""), | |
c07f9fc5 | 3815 | |
d2e6a577 FG |
3816 | Option("filestore_fadvise", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3817 | .set_default(true) | |
3818 | .set_description(""), | |
c07f9fc5 | 3819 | |
d2e6a577 FG |
3820 | Option("filestore_collect_device_partition_information", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3821 | .set_default(true) | |
3822 | .set_description(""), | |
c07f9fc5 | 3823 | |
d2e6a577 FG |
3824 | Option("filestore_xfs_extsize", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3825 | .set_default(false) | |
3826 | .set_description(""), | |
c07f9fc5 | 3827 | |
d2e6a577 FG |
3828 | Option("filestore_journal_parallel", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3829 | .set_default(false) | |
3830 | .set_description(""), | |
c07f9fc5 | 3831 | |
d2e6a577 FG |
3832 | Option("filestore_journal_writeahead", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3833 | .set_default(false) | |
3834 | .set_description(""), | |
c07f9fc5 | 3835 | |
d2e6a577 FG |
3836 | Option("filestore_journal_trailing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3837 | .set_default(false) | |
3838 | .set_description(""), | |
c07f9fc5 | 3839 | |
d2e6a577 FG |
3840 | Option("filestore_queue_max_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3841 | .set_default(50) | |
3842 | .set_description(""), | |
c07f9fc5 | 3843 | |
d2e6a577 FG |
3844 | Option("filestore_queue_max_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3845 | .set_default(100 << 20) | |
3846 | .set_description(""), | |
c07f9fc5 | 3847 | |
d2e6a577 FG |
3848 | Option("filestore_caller_concurrency", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3849 | .set_default(10) | |
3850 | .set_description(""), | |
c07f9fc5 | 3851 | |
d2e6a577 FG |
3852 | Option("filestore_expected_throughput_bytes", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3853 | .set_default(200 << 20) | |
3854 | .set_description(""), | |
c07f9fc5 | 3855 | |
d2e6a577 FG |
3856 | Option("filestore_expected_throughput_ops", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3857 | .set_default(200) | |
3858 | .set_description(""), | |
c07f9fc5 | 3859 | |
d2e6a577 FG |
3860 | Option("filestore_queue_max_delay_multiple", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3861 | .set_default(0) | |
3862 | .set_description(""), | |
c07f9fc5 | 3863 | |
d2e6a577 FG |
3864 | Option("filestore_queue_high_delay_multiple", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3865 | .set_default(0) | |
3866 | .set_description(""), | |
c07f9fc5 | 3867 | |
d2e6a577 FG |
3868 | Option("filestore_queue_low_threshhold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3869 | .set_default(0.3) | |
3870 | .set_description(""), | |
c07f9fc5 | 3871 | |
d2e6a577 FG |
3872 | Option("filestore_queue_high_threshhold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3873 | .set_default(0.9) | |
3874 | .set_description(""), | |
c07f9fc5 | 3875 | |
d2e6a577 FG |
3876 | Option("filestore_op_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3877 | .set_default(2) | |
3878 | .set_description(""), | |
c07f9fc5 | 3879 | |
d2e6a577 FG |
3880 | Option("filestore_op_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3881 | .set_default(60) | |
3882 | .set_description(""), | |
c07f9fc5 | 3883 | |
d2e6a577 FG |
3884 | Option("filestore_op_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3885 | .set_default(180) | |
3886 | .set_description(""), | |
c07f9fc5 | 3887 | |
d2e6a577 FG |
3888 | Option("filestore_commit_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3889 | .set_default(600) | |
3890 | .set_description(""), | |
c07f9fc5 | 3891 | |
d2e6a577 FG |
3892 | Option("filestore_fiemap_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3893 | .set_default(4096) | |
3894 | .set_description(""), | |
c07f9fc5 | 3895 | |
d2e6a577 FG |
3896 | Option("filestore_merge_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3897 | .set_default(10) | |
3898 | .set_description(""), | |
c07f9fc5 | 3899 | |
d2e6a577 FG |
3900 | Option("filestore_split_multiple", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3901 | .set_default(2) | |
3902 | .set_description(""), | |
c07f9fc5 | 3903 | |
d2e6a577 FG |
3904 | Option("filestore_split_rand_factor", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3905 | .set_default(20) | |
3906 | .set_description(""), | |
c07f9fc5 | 3907 | |
d2e6a577 FG |
3908 | Option("filestore_update_to", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3909 | .set_default(1000) | |
3910 | .set_description(""), | |
c07f9fc5 | 3911 | |
d2e6a577 FG |
3912 | Option("filestore_blackhole", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3913 | .set_default(false) | |
3914 | .set_description(""), | |
c07f9fc5 | 3915 | |
d2e6a577 FG |
3916 | Option("filestore_fd_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3917 | .set_default(128) | |
3918 | .set_description(""), | |
c07f9fc5 | 3919 | |
d2e6a577 FG |
3920 | Option("filestore_fd_cache_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3921 | .set_default(16) | |
3922 | .set_description(""), | |
c07f9fc5 | 3923 | |
d2e6a577 FG |
3924 | Option("filestore_ondisk_finisher_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3925 | .set_default(1) | |
3926 | .set_description(""), | |
c07f9fc5 | 3927 | |
d2e6a577 FG |
3928 | Option("filestore_apply_finisher_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3929 | .set_default(1) | |
3930 | .set_description(""), | |
c07f9fc5 | 3931 | |
d2e6a577 FG |
3932 | Option("filestore_dump_file", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
3933 | .set_default("") | |
3934 | .set_description(""), | |
c07f9fc5 | 3935 | |
d2e6a577 FG |
3936 | Option("filestore_kill_at", Option::TYPE_INT, Option::LEVEL_DEV) |
3937 | .set_default(0) | |
3938 | .set_description(""), | |
c07f9fc5 | 3939 | |
d2e6a577 FG |
3940 | Option("filestore_inject_stall", Option::TYPE_INT, Option::LEVEL_DEV) |
3941 | .set_default(0) | |
3942 | .set_description(""), | |
c07f9fc5 | 3943 | |
d2e6a577 FG |
3944 | Option("filestore_fail_eio", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3945 | .set_default(true) | |
3946 | .set_description(""), | |
c07f9fc5 | 3947 | |
d2e6a577 FG |
3948 | Option("filestore_debug_verify_split", Option::TYPE_BOOL, Option::LEVEL_DEV) |
3949 | .set_default(false) | |
3950 | .set_description(""), | |
c07f9fc5 | 3951 | |
d2e6a577 FG |
3952 | Option("journal_dio", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3953 | .set_default(true) | |
3954 | .set_description(""), | |
c07f9fc5 | 3955 | |
d2e6a577 FG |
3956 | Option("journal_aio", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3957 | .set_default(true) | |
3958 | .set_description(""), | |
c07f9fc5 | 3959 | |
d2e6a577 FG |
3960 | Option("journal_force_aio", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3961 | .set_default(false) | |
3962 | .set_description(""), | |
c07f9fc5 | 3963 | |
d2e6a577 FG |
3964 | Option("journal_block_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3965 | .set_default(4096) | |
3966 | .set_description(""), | |
c07f9fc5 | 3967 | |
d2e6a577 FG |
3968 | Option("journal_max_corrupt_search", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3969 | .set_default(10<<20) | |
3970 | .set_description(""), | |
c07f9fc5 | 3971 | |
d2e6a577 FG |
3972 | Option("journal_block_align", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
3973 | .set_default(true) | |
3974 | .set_description(""), | |
c07f9fc5 | 3975 | |
d2e6a577 FG |
3976 | Option("journal_write_header_frequency", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
3977 | .set_default(0) | |
3978 | .set_description(""), | |
c07f9fc5 | 3979 | |
d2e6a577 FG |
3980 | Option("journal_max_write_bytes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3981 | .set_default(10 << 20) | |
3982 | .set_description(""), | |
c07f9fc5 | 3983 | |
d2e6a577 FG |
3984 | Option("journal_max_write_entries", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
3985 | .set_default(100) | |
3986 | .set_description(""), | |
c07f9fc5 | 3987 | |
d2e6a577 FG |
3988 | Option("journal_throttle_low_threshhold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3989 | .set_default(0.6) | |
3990 | .set_description(""), | |
c07f9fc5 | 3991 | |
d2e6a577 FG |
3992 | Option("journal_throttle_high_threshhold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3993 | .set_default(0.9) | |
3994 | .set_description(""), | |
c07f9fc5 | 3995 | |
d2e6a577 FG |
3996 | Option("journal_throttle_high_multiple", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
3997 | .set_default(0) | |
3998 | .set_description(""), | |
c07f9fc5 | 3999 | |
d2e6a577 FG |
4000 | Option("journal_throttle_max_multiple", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4001 | .set_default(0) | |
4002 | .set_description(""), | |
c07f9fc5 | 4003 | |
d2e6a577 FG |
4004 | Option("journal_align_min_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4005 | .set_default(64 << 10) | |
4006 | .set_description(""), | |
c07f9fc5 | 4007 | |
d2e6a577 FG |
4008 | Option("journal_replay_from", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4009 | .set_default(0) | |
4010 | .set_description(""), | |
c07f9fc5 | 4011 | |
d2e6a577 FG |
4012 | Option("journal_zero_on_create", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4013 | .set_default(false) | |
4014 | .set_description(""), | |
c07f9fc5 | 4015 | |
d2e6a577 FG |
4016 | Option("journal_ignore_corruption", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4017 | .set_default(false) | |
4018 | .set_description(""), | |
c07f9fc5 | 4019 | |
d2e6a577 FG |
4020 | Option("journal_discard", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4021 | .set_default(false) | |
4022 | .set_description(""), | |
c07f9fc5 | 4023 | |
d2e6a577 FG |
4024 | Option("fio_dir", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4025 | .set_default("/tmp/fio") | |
4026 | .set_description(""), | |
c07f9fc5 | 4027 | |
d2e6a577 FG |
4028 | Option("rados_mon_op_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4029 | .set_default(0) | |
4030 | .set_description(""), | |
c07f9fc5 | 4031 | |
d2e6a577 FG |
4032 | Option("rados_osd_op_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4033 | .set_default(0) | |
4034 | .set_description(""), | |
c07f9fc5 | 4035 | |
d2e6a577 FG |
4036 | Option("rados_tracing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4037 | .set_default(false) | |
4038 | .set_description(""), | |
c07f9fc5 | 4039 | |
d2e6a577 FG |
4040 | Option("nss_db_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4041 | .set_default("") | |
4042 | .set_description(""), | |
c07f9fc5 | 4043 | |
d2e6a577 FG |
4044 | Option("mgr_module_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4045 | .set_default(CEPH_PKGLIBDIR "/mgr") | |
4046 | .set_description(""), | |
c07f9fc5 | 4047 | |
d2e6a577 FG |
4048 | Option("mgr_initial_modules", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4049 | .set_default("restful status") | |
4050 | .set_description(""), | |
c07f9fc5 | 4051 | |
d2e6a577 FG |
4052 | Option("mgr_data", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4053 | .set_default("/var/lib/ceph/mgr/$cluster-$id") | |
4054 | .set_description(""), | |
c07f9fc5 | 4055 | |
d2e6a577 FG |
4056 | Option("mgr_tick_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4057 | .set_default(2) | |
4058 | .set_description(""), | |
c07f9fc5 | 4059 | |
d2e6a577 FG |
4060 | Option("mgr_stats_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4061 | .set_default(5) | |
4062 | .set_description(""), | |
c07f9fc5 | 4063 | |
d2e6a577 FG |
4064 | Option("mgr_client_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4065 | .set_default(128*1048576) | |
4066 | .set_description(""), | |
c07f9fc5 | 4067 | |
d2e6a577 FG |
4068 | Option("mgr_client_messages", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4069 | .set_default(512) | |
4070 | .set_description(""), | |
c07f9fc5 | 4071 | |
d2e6a577 FG |
4072 | Option("mgr_osd_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4073 | .set_default(512*1048576) | |
4074 | .set_description(""), | |
c07f9fc5 | 4075 | |
d2e6a577 FG |
4076 | Option("mgr_osd_messages", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4077 | .set_default(8192) | |
4078 | .set_description(""), | |
c07f9fc5 | 4079 | |
d2e6a577 FG |
4080 | Option("mgr_mds_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4081 | .set_default(128*1048576) | |
4082 | .set_description(""), | |
c07f9fc5 | 4083 | |
d2e6a577 FG |
4084 | Option("mgr_mds_messages", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4085 | .set_default(128) | |
4086 | .set_description(""), | |
c07f9fc5 | 4087 | |
d2e6a577 FG |
4088 | Option("mgr_mon_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4089 | .set_default(128*1048576) | |
4090 | .set_description(""), | |
c07f9fc5 | 4091 | |
d2e6a577 FG |
4092 | Option("mgr_mon_messages", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4093 | .set_default(128) | |
4094 | .set_description(""), | |
c07f9fc5 | 4095 | |
d2e6a577 FG |
4096 | Option("mgr_connect_retry_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4097 | .set_default(1.0) | |
4098 | .set_description(""), | |
c07f9fc5 | 4099 | |
d2e6a577 FG |
4100 | Option("mgr_service_beacon_grace", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4101 | .set_default(60.0) | |
4102 | .set_description(""), | |
c07f9fc5 | 4103 | |
d2e6a577 FG |
4104 | Option("mon_mgr_digest_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4105 | .set_default(5) | |
4106 | .set_description(""), | |
c07f9fc5 | 4107 | |
d2e6a577 FG |
4108 | Option("mon_mgr_beacon_grace", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4109 | .set_default(30) | |
4110 | .set_description(""), | |
c07f9fc5 | 4111 | |
d2e6a577 FG |
4112 | Option("mon_mgr_inactive_grace", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4113 | .set_default(60) | |
4114 | .set_description(""), | |
c07f9fc5 | 4115 | |
d2e6a577 FG |
4116 | Option("mon_mgr_mkfs_grace", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4117 | .set_default(60) | |
4118 | .set_description(""), | |
c07f9fc5 | 4119 | |
d2e6a577 FG |
4120 | Option("mutex_perf_counter", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4121 | .set_default(false) | |
4122 | .set_description(""), | |
c07f9fc5 | 4123 | |
d2e6a577 FG |
4124 | Option("throttler_perf_counter", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4125 | .set_default(true) | |
4126 | .set_description(""), | |
c07f9fc5 | 4127 | |
d2e6a577 FG |
4128 | Option("event_tracing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4129 | .set_default(false) | |
4130 | .set_description(""), | |
c07f9fc5 | 4131 | |
d2e6a577 FG |
4132 | Option("internal_safe_to_start_threads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4133 | .set_default(false) | |
4134 | .set_description(""), | |
c07f9fc5 | 4135 | |
d2e6a577 FG |
4136 | Option("debug_deliberately_leak_memory", Option::TYPE_BOOL, Option::LEVEL_DEV) |
4137 | .set_default(false) | |
4138 | .set_description(""), | |
4139 | }); | |
4140 | } | |
c07f9fc5 | 4141 | |
d2e6a577 FG |
4142 | std::vector<Option> get_rgw_options() { |
4143 | return std::vector<Option>({ | |
4144 | Option("rgw_acl_grants_max_num", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
4145 | .set_default(100) | |
4146 | .set_description(""), | |
c07f9fc5 | 4147 | |
d2e6a577 FG |
4148 | Option("rgw_max_chunk_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4149 | .set_default(4 * 1024 * 1024) | |
4150 | .set_description(""), | |
c07f9fc5 | 4151 | |
d2e6a577 FG |
4152 | Option("rgw_put_obj_min_window_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4153 | .set_default(16 * 1024 * 1024) | |
4154 | .set_description(""), | |
c07f9fc5 | 4155 | |
d2e6a577 FG |
4156 | Option("rgw_put_obj_max_window_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4157 | .set_default(64 * 1024 * 1024) | |
4158 | .set_description(""), | |
c07f9fc5 | 4159 | |
d2e6a577 FG |
4160 | Option("rgw_max_put_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4161 | .set_default(5ULL*1024*1024*1024) | |
4162 | .set_description(""), | |
c07f9fc5 | 4163 | |
d2e6a577 FG |
4164 | Option("rgw_max_put_param_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4165 | .set_default(1 * 1024 * 1024) | |
4166 | .set_description(""), | |
c07f9fc5 | 4167 | |
d2e6a577 FG |
4168 | Option("rgw_override_bucket_index_max_shards", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4169 | .set_default(0) | |
4170 | .set_description(""), | |
c07f9fc5 | 4171 | |
d2e6a577 FG |
4172 | Option("rgw_bucket_index_max_aio", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4173 | .set_default(8) | |
4174 | .set_description(""), | |
c07f9fc5 | 4175 | |
d2e6a577 FG |
4176 | Option("rgw_enable_quota_threads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4177 | .set_default(true) | |
4178 | .set_description(""), | |
c07f9fc5 | 4179 | |
d2e6a577 FG |
4180 | Option("rgw_enable_gc_threads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4181 | .set_default(true) | |
4182 | .set_description(""), | |
c07f9fc5 | 4183 | |
d2e6a577 FG |
4184 | Option("rgw_enable_lc_threads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4185 | .set_default(true) | |
4186 | .set_description(""), | |
c07f9fc5 | 4187 | |
d2e6a577 FG |
4188 | Option("rgw_data", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4189 | .set_default("/var/lib/ceph/radosgw/$cluster-$id") | |
4190 | .set_description(""), | |
c07f9fc5 | 4191 | |
d2e6a577 FG |
4192 | Option("rgw_enable_apis", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4193 | .set_default("s3, s3website, swift, swift_auth, admin") | |
4194 | .set_description(""), | |
c07f9fc5 | 4195 | |
d2e6a577 FG |
4196 | Option("rgw_cache_enabled", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4197 | .set_default(true) | |
4198 | .set_description(""), | |
c07f9fc5 | 4199 | |
d2e6a577 FG |
4200 | Option("rgw_cache_lru_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4201 | .set_default(10000) | |
4202 | .set_description(""), | |
c07f9fc5 | 4203 | |
d2e6a577 FG |
4204 | Option("rgw_socket_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4205 | .set_default("") | |
4206 | .set_description(""), | |
c07f9fc5 | 4207 | |
d2e6a577 FG |
4208 | Option("rgw_host", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4209 | .set_default("") | |
4210 | .set_description(""), | |
c07f9fc5 | 4211 | |
d2e6a577 FG |
4212 | Option("rgw_port", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4213 | .set_default("") | |
4214 | .set_description(""), | |
c07f9fc5 | 4215 | |
d2e6a577 FG |
4216 | Option("rgw_dns_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4217 | .set_default("") | |
4218 | .set_description(""), | |
c07f9fc5 | 4219 | |
d2e6a577 FG |
4220 | Option("rgw_dns_s3website_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4221 | .set_default("") | |
4222 | .set_description(""), | |
c07f9fc5 | 4223 | |
d2e6a577 FG |
4224 | Option("rgw_content_length_compat", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4225 | .set_default(false) | |
4226 | .set_description(""), | |
c07f9fc5 | 4227 | |
d2e6a577 FG |
4228 | Option("rgw_lifecycle_work_time", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4229 | .set_default("00:00-06:00") | |
4230 | .set_description(""), | |
c07f9fc5 | 4231 | |
d2e6a577 FG |
4232 | Option("rgw_lc_lock_max_time", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4233 | .set_default(60) | |
4234 | .set_description(""), | |
c07f9fc5 | 4235 | |
d2e6a577 FG |
4236 | Option("rgw_lc_max_objs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4237 | .set_default(32) | |
4238 | .set_description(""), | |
c07f9fc5 | 4239 | |
d2e6a577 FG |
4240 | Option("rgw_lc_debug_interval", Option::TYPE_INT, Option::LEVEL_DEV) |
4241 | .set_default(-1) | |
4242 | .set_description(""), | |
c07f9fc5 | 4243 | |
d2e6a577 FG |
4244 | Option("rgw_mp_lock_max_time", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4245 | .set_default(600) | |
4246 | .set_description(""), | |
c07f9fc5 | 4247 | |
d2e6a577 FG |
4248 | Option("rgw_script_uri", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4249 | .set_default("") | |
4250 | .set_description(""), | |
c07f9fc5 | 4251 | |
d2e6a577 FG |
4252 | Option("rgw_request_uri", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4253 | .set_default("") | |
4254 | .set_description(""), | |
c07f9fc5 | 4255 | |
d2e6a577 FG |
4256 | Option("rgw_swift_url", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4257 | .set_default("") | |
4258 | .set_description(""), | |
c07f9fc5 | 4259 | |
d2e6a577 FG |
4260 | Option("rgw_swift_url_prefix", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4261 | .set_default("swift") | |
4262 | .set_description(""), | |
c07f9fc5 | 4263 | |
d2e6a577 FG |
4264 | Option("rgw_swift_auth_url", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4265 | .set_default("") | |
4266 | .set_description(""), | |
c07f9fc5 | 4267 | |
d2e6a577 FG |
4268 | Option("rgw_swift_auth_entry", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4269 | .set_default("auth") | |
4270 | .set_description(""), | |
c07f9fc5 | 4271 | |
d2e6a577 FG |
4272 | Option("rgw_swift_tenant_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4273 | .set_default("") | |
4274 | .set_description(""), | |
c07f9fc5 | 4275 | |
d2e6a577 FG |
4276 | Option("rgw_swift_account_in_url", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4277 | .set_default(false) | |
4278 | .set_description(""), | |
c07f9fc5 | 4279 | |
d2e6a577 FG |
4280 | Option("rgw_swift_enforce_content_length", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4281 | .set_default(false) | |
4282 | .set_description(""), | |
c07f9fc5 | 4283 | |
d2e6a577 FG |
4284 | Option("rgw_keystone_url", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4285 | .set_default("") | |
4286 | .set_description(""), | |
c07f9fc5 | 4287 | |
d2e6a577 FG |
4288 | Option("rgw_keystone_admin_token", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4289 | .set_default("") | |
4290 | .set_description(""), | |
c07f9fc5 | 4291 | |
d2e6a577 FG |
4292 | Option("rgw_keystone_admin_user", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4293 | .set_default("") | |
4294 | .set_description(""), | |
c07f9fc5 | 4295 | |
d2e6a577 FG |
4296 | Option("rgw_keystone_admin_password", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4297 | .set_default("") | |
4298 | .set_description(""), | |
c07f9fc5 | 4299 | |
d2e6a577 FG |
4300 | Option("rgw_keystone_admin_tenant", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4301 | .set_default("") | |
4302 | .set_description(""), | |
c07f9fc5 | 4303 | |
d2e6a577 FG |
4304 | Option("rgw_keystone_admin_project", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4305 | .set_default("") | |
4306 | .set_description(""), | |
c07f9fc5 | 4307 | |
d2e6a577 FG |
4308 | Option("rgw_keystone_admin_domain", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4309 | .set_default("") | |
4310 | .set_description(""), | |
c07f9fc5 | 4311 | |
d2e6a577 FG |
4312 | Option("rgw_keystone_barbican_user", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4313 | .set_default("") | |
4314 | .set_description(""), | |
c07f9fc5 | 4315 | |
d2e6a577 FG |
4316 | Option("rgw_keystone_barbican_password", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4317 | .set_default("") | |
4318 | .set_description(""), | |
c07f9fc5 | 4319 | |
d2e6a577 FG |
4320 | Option("rgw_keystone_barbican_tenant", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4321 | .set_default("") | |
4322 | .set_description(""), | |
c07f9fc5 | 4323 | |
d2e6a577 FG |
4324 | Option("rgw_keystone_barbican_project", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4325 | .set_default("") | |
4326 | .set_description(""), | |
c07f9fc5 | 4327 | |
d2e6a577 FG |
4328 | Option("rgw_keystone_barbican_domain", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4329 | .set_default("") | |
4330 | .set_description(""), | |
c07f9fc5 | 4331 | |
d2e6a577 FG |
4332 | Option("rgw_keystone_api_version", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4333 | .set_default(2) | |
4334 | .set_description(""), | |
c07f9fc5 | 4335 | |
d2e6a577 FG |
4336 | Option("rgw_keystone_accepted_roles", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4337 | .set_default("Member, admin") | |
4338 | .set_description(""), | |
c07f9fc5 | 4339 | |
d2e6a577 FG |
4340 | Option("rgw_keystone_accepted_admin_roles", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4341 | .set_default("") | |
4342 | .set_description(""), | |
c07f9fc5 | 4343 | |
d2e6a577 FG |
4344 | Option("rgw_keystone_token_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4345 | .set_default(10000) | |
4346 | .set_description(""), | |
c07f9fc5 | 4347 | |
d2e6a577 FG |
4348 | Option("rgw_keystone_revocation_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4349 | .set_default(15 * 60) | |
4350 | .set_description(""), | |
c07f9fc5 | 4351 | |
d2e6a577 FG |
4352 | Option("rgw_keystone_verify_ssl", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4353 | .set_default(true) | |
4354 | .set_description(""), | |
c07f9fc5 | 4355 | |
d2e6a577 FG |
4356 | Option("rgw_keystone_implicit_tenants", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4357 | .set_default(false) | |
4358 | .set_description(""), | |
c07f9fc5 | 4359 | |
d2e6a577 FG |
4360 | Option("rgw_cross_domain_policy", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4361 | .set_default("<allow-access-from domain=\"*\" secure=\"false\" />") | |
4362 | .set_description(""), | |
c07f9fc5 | 4363 | |
d2e6a577 FG |
4364 | Option("rgw_healthcheck_disabling_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4365 | .set_default("") | |
4366 | .set_description(""), | |
c07f9fc5 | 4367 | |
d2e6a577 FG |
4368 | Option("rgw_s3_auth_use_rados", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4369 | .set_default(true) | |
4370 | .set_description(""), | |
c07f9fc5 | 4371 | |
d2e6a577 FG |
4372 | Option("rgw_s3_auth_use_keystone", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4373 | .set_default(false) | |
4374 | .set_description(""), | |
c07f9fc5 | 4375 | |
d2e6a577 FG |
4376 | Option("rgw_s3_auth_aws4_force_boto2_compat", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4377 | .set_default(true) | |
4378 | .set_description(""), | |
c07f9fc5 | 4379 | |
d2e6a577 FG |
4380 | Option("rgw_barbican_url", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4381 | .set_default("") | |
4382 | .set_description(""), | |
c07f9fc5 | 4383 | |
d2e6a577 FG |
4384 | Option("rgw_ldap_uri", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4385 | .set_default("ldaps://<ldap.your.domain>") | |
4386 | .set_description(""), | |
c07f9fc5 | 4387 | |
d2e6a577 FG |
4388 | Option("rgw_ldap_binddn", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4389 | .set_default("uid=admin,cn=users,dc=example,dc=com") | |
4390 | .set_description(""), | |
c07f9fc5 | 4391 | |
d2e6a577 FG |
4392 | Option("rgw_ldap_searchdn", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4393 | .set_default("cn=users,cn=accounts,dc=example,dc=com") | |
4394 | .set_description(""), | |
c07f9fc5 | 4395 | |
d2e6a577 FG |
4396 | Option("rgw_ldap_dnattr", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4397 | .set_default("uid") | |
4398 | .set_description(""), | |
c07f9fc5 | 4399 | |
d2e6a577 FG |
4400 | Option("rgw_ldap_secret", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4401 | .set_default("/etc/openldap/secret") | |
4402 | .set_description(""), | |
c07f9fc5 | 4403 | |
d2e6a577 FG |
4404 | Option("rgw_s3_auth_use_ldap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4405 | .set_default(false) | |
4406 | .set_description(""), | |
c07f9fc5 | 4407 | |
d2e6a577 FG |
4408 | Option("rgw_ldap_searchfilter", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4409 | .set_default("") | |
4410 | .set_description(""), | |
c07f9fc5 | 4411 | |
d2e6a577 FG |
4412 | Option("rgw_admin_entry", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4413 | .set_default("admin") | |
4414 | .set_description(""), | |
c07f9fc5 | 4415 | |
d2e6a577 FG |
4416 | Option("rgw_enforce_swift_acls", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4417 | .set_default(true) | |
4418 | .set_description(""), | |
c07f9fc5 | 4419 | |
d2e6a577 FG |
4420 | Option("rgw_swift_token_expiration", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4421 | .set_default(24 * 3600) | |
4422 | .set_description(""), | |
c07f9fc5 | 4423 | |
d2e6a577 FG |
4424 | Option("rgw_print_continue", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4425 | .set_default(true) | |
4426 | .set_description(""), | |
c07f9fc5 | 4427 | |
d2e6a577 FG |
4428 | Option("rgw_print_prohibited_content_length", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4429 | .set_default(false) | |
4430 | .set_description(""), | |
c07f9fc5 | 4431 | |
d2e6a577 FG |
4432 | Option("rgw_remote_addr_param", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4433 | .set_default("REMOTE_ADDR") | |
4434 | .set_description(""), | |
c07f9fc5 | 4435 | |
d2e6a577 FG |
4436 | Option("rgw_op_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4437 | .set_default(10*60) | |
4438 | .set_description(""), | |
c07f9fc5 | 4439 | |
d2e6a577 FG |
4440 | Option("rgw_op_thread_suicide_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4441 | .set_default(0) | |
4442 | .set_description(""), | |
c07f9fc5 | 4443 | |
d2e6a577 FG |
4444 | Option("rgw_thread_pool_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4445 | .set_default(100) | |
4446 | .set_description(""), | |
c07f9fc5 | 4447 | |
d2e6a577 FG |
4448 | Option("rgw_num_control_oids", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4449 | .set_default(8) | |
4450 | .set_description(""), | |
c07f9fc5 | 4451 | |
d2e6a577 FG |
4452 | Option("rgw_num_rados_handles", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4453 | .set_default(1) | |
4454 | .set_description(""), | |
c07f9fc5 | 4455 | |
d2e6a577 FG |
4456 | Option("rgw_verify_ssl", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4457 | .set_default(true) | |
4458 | .set_description(""), | |
c07f9fc5 | 4459 | |
d2e6a577 FG |
4460 | Option("rgw_nfs_lru_lanes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4461 | .set_default(5) | |
4462 | .set_description(""), | |
c07f9fc5 | 4463 | |
d2e6a577 FG |
4464 | Option("rgw_nfs_lru_lane_hiwat", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4465 | .set_default(911) | |
4466 | .set_description(""), | |
c07f9fc5 | 4467 | |
d2e6a577 FG |
4468 | Option("rgw_nfs_fhcache_partitions", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4469 | .set_default(3) | |
4470 | .set_description(""), | |
c07f9fc5 | 4471 | |
d2e6a577 FG |
4472 | Option("rgw_nfs_fhcache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4473 | .set_default(2017) | |
4474 | .set_description(""), | |
c07f9fc5 | 4475 | |
d2e6a577 FG |
4476 | Option("rgw_nfs_namespace_expire_secs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4477 | .set_default(300) | |
4478 | .set_min(1) | |
4479 | .set_description(""), | |
4480 | ||
4481 | Option("rgw_nfs_max_gc", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
4482 | .set_default(300) | |
4483 | .set_min(1) | |
4484 | .set_description(""), | |
4485 | ||
4486 | Option("rgw_nfs_write_completion_interval_s", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
4487 | .set_default(10) | |
4488 | .set_description(""), | |
4489 | ||
4490 | Option("rgw_zone", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4491 | .set_default("") | |
4492 | .set_description(""), | |
4493 | ||
4494 | Option("rgw_zone_root_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4495 | .set_default(".rgw.root") | |
4496 | .set_description(""), | |
4497 | ||
4498 | Option("rgw_default_zone_info_oid", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4499 | .set_default("default.zone") | |
4500 | .set_description(""), | |
4501 | ||
4502 | Option("rgw_region", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4503 | .set_default("") | |
4504 | .set_description(""), | |
4505 | ||
4506 | Option("rgw_region_root_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4507 | .set_default(".rgw.root") | |
4508 | .set_description(""), | |
4509 | ||
4510 | Option("rgw_default_region_info_oid", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4511 | .set_default("default.region") | |
4512 | .set_description(""), | |
4513 | ||
4514 | Option("rgw_zonegroup", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4515 | .set_default("") | |
4516 | .set_description(""), | |
4517 | ||
4518 | Option("rgw_zonegroup_root_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4519 | .set_default(".rgw.root") | |
4520 | .set_description(""), | |
4521 | ||
4522 | Option("rgw_default_zonegroup_info_oid", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4523 | .set_default("default.zonegroup") | |
4524 | .set_description(""), | |
4525 | ||
4526 | Option("rgw_realm", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4527 | .set_default("") | |
4528 | .set_description(""), | |
4529 | ||
4530 | Option("rgw_realm_root_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4531 | .set_default(".rgw.root") | |
4532 | .set_description(""), | |
4533 | ||
4534 | Option("rgw_default_realm_info_oid", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4535 | .set_default("default.realm") | |
4536 | .set_description(""), | |
4537 | ||
4538 | Option("rgw_period_root_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4539 | .set_default(".rgw.root") | |
4540 | .set_description(""), | |
4541 | ||
4542 | Option("rgw_period_latest_epoch_info_oid", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4543 | .set_default(".latest_epoch") | |
4544 | .set_description(""), | |
4545 | ||
4546 | Option("rgw_log_nonexistent_bucket", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
4547 | .set_default(false) | |
4548 | .set_description(""), | |
4549 | ||
4550 | Option("rgw_log_object_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4551 | .set_default("%Y-%m-%d-%H-%i-%n") | |
4552 | .set_description(""), | |
4553 | ||
4554 | Option("rgw_log_object_name_utc", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
4555 | .set_default(false) | |
4556 | .set_description(""), | |
4557 | ||
4558 | Option("rgw_usage_max_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
4559 | .set_default(32) | |
4560 | .set_description(""), | |
4561 | ||
4562 | Option("rgw_usage_max_user_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
4563 | .set_default(1) | |
4564 | .set_min(1) | |
4565 | .set_description(""), | |
c07f9fc5 | 4566 | |
d2e6a577 FG |
4567 | Option("rgw_enable_ops_log", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4568 | .set_default(false) | |
4569 | .set_description(""), | |
c07f9fc5 | 4570 | |
d2e6a577 FG |
4571 | Option("rgw_enable_usage_log", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4572 | .set_default(false) | |
4573 | .set_description(""), | |
c07f9fc5 | 4574 | |
d2e6a577 FG |
4575 | Option("rgw_ops_log_rados", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4576 | .set_default(true) | |
4577 | .set_description(""), | |
c07f9fc5 | 4578 | |
d2e6a577 FG |
4579 | Option("rgw_ops_log_socket_path", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4580 | .set_default("") | |
4581 | .set_description(""), | |
c07f9fc5 | 4582 | |
d2e6a577 FG |
4583 | Option("rgw_ops_log_data_backlog", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4584 | .set_default(5 << 20) | |
4585 | .set_description(""), | |
c07f9fc5 | 4586 | |
d2e6a577 FG |
4587 | Option("rgw_fcgi_socket_backlog", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4588 | .set_default(1024) | |
4589 | .set_description(""), | |
c07f9fc5 | 4590 | |
d2e6a577 FG |
4591 | Option("rgw_usage_log_flush_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4592 | .set_default(1024) | |
4593 | .set_description(""), | |
c07f9fc5 | 4594 | |
d2e6a577 FG |
4595 | Option("rgw_usage_log_tick_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4596 | .set_default(30) | |
4597 | .set_description(""), | |
c07f9fc5 | 4598 | |
d2e6a577 FG |
4599 | Option("rgw_intent_log_object_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4600 | .set_default("%Y-%m-%d-%i-%n") | |
4601 | .set_description(""), | |
c07f9fc5 | 4602 | |
d2e6a577 FG |
4603 | Option("rgw_intent_log_object_name_utc", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4604 | .set_default(false) | |
4605 | .set_description(""), | |
c07f9fc5 | 4606 | |
d2e6a577 FG |
4607 | Option("rgw_init_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4608 | .set_default(300) | |
4609 | .set_description(""), | |
c07f9fc5 | 4610 | |
d2e6a577 FG |
4611 | Option("rgw_mime_types_file", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4612 | .set_default("/etc/mime.types") | |
4613 | .set_description(""), | |
c07f9fc5 | 4614 | |
d2e6a577 FG |
4615 | Option("rgw_gc_max_objs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4616 | .set_default(32) | |
4617 | .set_description(""), | |
c07f9fc5 | 4618 | |
d2e6a577 FG |
4619 | Option("rgw_gc_obj_min_wait", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4620 | .set_default(2 * 3600) | |
4621 | .set_description(""), | |
c07f9fc5 | 4622 | |
d2e6a577 FG |
4623 | Option("rgw_gc_processor_max_time", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4624 | .set_default(3600) | |
4625 | .set_description(""), | |
c07f9fc5 | 4626 | |
d2e6a577 FG |
4627 | Option("rgw_gc_processor_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4628 | .set_default(3600) | |
4629 | .set_description(""), | |
c07f9fc5 | 4630 | |
d2e6a577 FG |
4631 | Option("rgw_s3_success_create_obj_status", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4632 | .set_default(0) | |
4633 | .set_description(""), | |
c07f9fc5 | 4634 | |
d2e6a577 FG |
4635 | Option("rgw_resolve_cname", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4636 | .set_default(false) | |
4637 | .set_description(""), | |
c07f9fc5 | 4638 | |
d2e6a577 FG |
4639 | Option("rgw_obj_stripe_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4640 | .set_default(4 << 20) | |
4641 | .set_description(""), | |
c07f9fc5 | 4642 | |
d2e6a577 FG |
4643 | Option("rgw_extended_http_attrs", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4644 | .set_default("") | |
4645 | .set_description(""), | |
c07f9fc5 | 4646 | |
d2e6a577 FG |
4647 | Option("rgw_exit_timeout_secs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4648 | .set_default(120) | |
4649 | .set_description(""), | |
c07f9fc5 | 4650 | |
d2e6a577 FG |
4651 | Option("rgw_get_obj_window_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4652 | .set_default(16 << 20) | |
4653 | .set_description(""), | |
c07f9fc5 | 4654 | |
d2e6a577 FG |
4655 | Option("rgw_get_obj_max_req_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4656 | .set_default(4 << 20) | |
4657 | .set_description(""), | |
c07f9fc5 | 4658 | |
d2e6a577 FG |
4659 | Option("rgw_relaxed_s3_bucket_names", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4660 | .set_default(false) | |
4661 | .set_description(""), | |
c07f9fc5 | 4662 | |
d2e6a577 FG |
4663 | Option("rgw_defer_to_bucket_acls", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4664 | .set_default("") | |
4665 | .set_description(""), | |
c07f9fc5 | 4666 | |
d2e6a577 FG |
4667 | Option("rgw_list_buckets_max_chunk", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4668 | .set_default(1000) | |
4669 | .set_description(""), | |
c07f9fc5 | 4670 | |
d2e6a577 FG |
4671 | Option("rgw_md_log_max_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4672 | .set_default(64) | |
4673 | .set_description(""), | |
c07f9fc5 | 4674 | |
d2e6a577 FG |
4675 | Option("rgw_num_zone_opstate_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4676 | .set_default(128) | |
4677 | .set_description(""), | |
c07f9fc5 | 4678 | |
d2e6a577 FG |
4679 | Option("rgw_opstate_ratelimit_sec", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4680 | .set_default(30) | |
4681 | .set_description(""), | |
c07f9fc5 | 4682 | |
d2e6a577 FG |
4683 | Option("rgw_curl_wait_timeout_ms", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4684 | .set_default(1000) | |
4685 | .set_description(""), | |
c07f9fc5 | 4686 | |
d2e6a577 FG |
4687 | Option("rgw_copy_obj_progress", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4688 | .set_default(true) | |
4689 | .set_description(""), | |
c07f9fc5 | 4690 | |
d2e6a577 FG |
4691 | Option("rgw_copy_obj_progress_every_bytes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4692 | .set_default(1024 * 1024) | |
4693 | .set_description(""), | |
c07f9fc5 | 4694 | |
d2e6a577 FG |
4695 | Option("rgw_obj_tombstone_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4696 | .set_default(1000) | |
4697 | .set_description(""), | |
c07f9fc5 | 4698 | |
d2e6a577 FG |
4699 | Option("rgw_data_log_window", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4700 | .set_default(30) | |
4701 | .set_description(""), | |
c07f9fc5 | 4702 | |
d2e6a577 FG |
4703 | Option("rgw_data_log_changes_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4704 | .set_default(1000) | |
4705 | .set_description(""), | |
c07f9fc5 | 4706 | |
d2e6a577 FG |
4707 | Option("rgw_data_log_num_shards", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4708 | .set_default(128) | |
4709 | .set_description(""), | |
c07f9fc5 | 4710 | |
d2e6a577 FG |
4711 | Option("rgw_data_log_obj_prefix", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4712 | .set_default("data_log") | |
4713 | .set_description(""), | |
c07f9fc5 | 4714 | |
d2e6a577 FG |
4715 | Option("rgw_replica_log_obj_prefix", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4716 | .set_default("replica_log") | |
4717 | .set_description(""), | |
c07f9fc5 | 4718 | |
d2e6a577 FG |
4719 | Option("rgw_bucket_quota_ttl", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4720 | .set_default(600) | |
4721 | .set_description(""), | |
c07f9fc5 | 4722 | |
d2e6a577 FG |
4723 | Option("rgw_bucket_quota_soft_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4724 | .set_default(0.95) | |
4725 | .set_description(""), | |
c07f9fc5 | 4726 | |
d2e6a577 FG |
4727 | Option("rgw_bucket_quota_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4728 | .set_default(10000) | |
4729 | .set_description(""), | |
c07f9fc5 | 4730 | |
d2e6a577 FG |
4731 | Option("rgw_bucket_default_quota_max_objects", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4732 | .set_default(-1) | |
4733 | .set_description(""), | |
c07f9fc5 | 4734 | |
d2e6a577 FG |
4735 | Option("rgw_bucket_default_quota_max_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4736 | .set_default(-1) | |
4737 | .set_description(""), | |
c07f9fc5 | 4738 | |
d2e6a577 FG |
4739 | Option("rgw_expose_bucket", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4740 | .set_default(false) | |
4741 | .set_description(""), | |
c07f9fc5 | 4742 | |
d2e6a577 FG |
4743 | Option("rgw_frontends", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4744 | .set_default("civetweb port=7480") | |
4745 | .set_description(""), | |
c07f9fc5 | 4746 | |
d2e6a577 FG |
4747 | Option("rgw_user_quota_bucket_sync_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4748 | .set_default(180) | |
4749 | .set_description(""), | |
c07f9fc5 | 4750 | |
d2e6a577 FG |
4751 | Option("rgw_user_quota_sync_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4752 | .set_default(3600 * 24) | |
4753 | .set_description(""), | |
c07f9fc5 | 4754 | |
d2e6a577 FG |
4755 | Option("rgw_user_quota_sync_idle_users", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4756 | .set_default(false) | |
4757 | .set_description(""), | |
c07f9fc5 | 4758 | |
d2e6a577 FG |
4759 | Option("rgw_user_quota_sync_wait_time", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4760 | .set_default(3600 * 24) | |
4761 | .set_description(""), | |
c07f9fc5 | 4762 | |
d2e6a577 FG |
4763 | Option("rgw_user_default_quota_max_objects", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4764 | .set_default(-1) | |
4765 | .set_description(""), | |
c07f9fc5 | 4766 | |
d2e6a577 FG |
4767 | Option("rgw_user_default_quota_max_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4768 | .set_default(-1) | |
4769 | .set_description(""), | |
c07f9fc5 | 4770 | |
d2e6a577 FG |
4771 | Option("rgw_multipart_min_part_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4772 | .set_default(5 * 1024 * 1024) | |
4773 | .set_description(""), | |
c07f9fc5 | 4774 | |
d2e6a577 FG |
4775 | Option("rgw_multipart_part_upload_limit", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4776 | .set_default(10000) | |
4777 | .set_description(""), | |
c07f9fc5 | 4778 | |
d2e6a577 FG |
4779 | Option("rgw_max_slo_entries", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4780 | .set_default(1000) | |
4781 | .set_description(""), | |
c07f9fc5 | 4782 | |
d2e6a577 FG |
4783 | Option("rgw_olh_pending_timeout_sec", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4784 | .set_default(3600) | |
4785 | .set_description(""), | |
c07f9fc5 | 4786 | |
d2e6a577 FG |
4787 | Option("rgw_user_max_buckets", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4788 | .set_default(1000) | |
4789 | .set_description(""), | |
c07f9fc5 | 4790 | |
d2e6a577 FG |
4791 | Option("rgw_objexp_gc_interval", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4792 | .set_default(60 * 10) | |
4793 | .set_description(""), | |
c07f9fc5 | 4794 | |
d2e6a577 FG |
4795 | Option("rgw_objexp_time_step", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4796 | .set_default(4096) | |
4797 | .set_description(""), | |
c07f9fc5 | 4798 | |
d2e6a577 FG |
4799 | Option("rgw_objexp_hints_num_shards", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4800 | .set_default(127) | |
4801 | .set_description(""), | |
c07f9fc5 | 4802 | |
d2e6a577 FG |
4803 | Option("rgw_objexp_chunk_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4804 | .set_default(100) | |
4805 | .set_description(""), | |
c07f9fc5 | 4806 | |
d2e6a577 FG |
4807 | Option("rgw_enable_static_website", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4808 | .set_default(false) | |
4809 | .set_description(""), | |
c07f9fc5 | 4810 | |
d2e6a577 FG |
4811 | Option("rgw_log_http_headers", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4812 | .set_default("") | |
4813 | .set_description(""), | |
c07f9fc5 | 4814 | |
d2e6a577 FG |
4815 | Option("rgw_num_async_rados_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4816 | .set_default(32) | |
4817 | .set_description(""), | |
c07f9fc5 | 4818 | |
d2e6a577 FG |
4819 | Option("rgw_md_notify_interval_msec", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4820 | .set_default(200) | |
4821 | .set_description(""), | |
c07f9fc5 | 4822 | |
d2e6a577 FG |
4823 | Option("rgw_run_sync_thread", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4824 | .set_default(true) | |
4825 | .set_description(""), | |
c07f9fc5 | 4826 | |
d2e6a577 FG |
4827 | Option("rgw_sync_lease_period", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4828 | .set_default(120) | |
4829 | .set_description(""), | |
c07f9fc5 | 4830 | |
d2e6a577 FG |
4831 | Option("rgw_sync_log_trim_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4832 | .set_default(1200) | |
4833 | .set_description(""), | |
c07f9fc5 | 4834 | |
d2e6a577 FG |
4835 | Option("rgw_sync_data_inject_err_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
4836 | .set_default(0) | |
4837 | .set_description(""), | |
c07f9fc5 | 4838 | |
d2e6a577 FG |
4839 | Option("rgw_sync_meta_inject_err_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
4840 | .set_default(0) | |
4841 | .set_description(""), | |
c07f9fc5 | 4842 | |
d2e6a577 FG |
4843 | Option("rgw_period_push_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4844 | .set_default(2) | |
4845 | .set_description(""), | |
c07f9fc5 | 4846 | |
d2e6a577 FG |
4847 | Option("rgw_period_push_interval_max", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4848 | .set_default(30) | |
4849 | .set_description(""), | |
c07f9fc5 | 4850 | |
d2e6a577 FG |
4851 | Option("rgw_safe_max_objects_per_shard", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4852 | .set_default(100*1024) | |
4853 | .set_description(""), | |
c07f9fc5 | 4854 | |
d2e6a577 FG |
4855 | Option("rgw_shard_warning_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
4856 | .set_default(90) | |
4857 | .set_description(""), | |
c07f9fc5 | 4858 | |
d2e6a577 FG |
4859 | Option("rgw_swift_versioning_enabled", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4860 | .set_default(false) | |
4861 | .set_description(""), | |
c07f9fc5 | 4862 | |
d2e6a577 FG |
4863 | Option("rgw_swift_custom_header", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4864 | .set_default("") | |
4865 | .set_description(""), | |
c07f9fc5 | 4866 | |
d2e6a577 FG |
4867 | Option("rgw_swift_need_stats", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4868 | .set_default(true) | |
4869 | .set_description(""), | |
c07f9fc5 | 4870 | |
d2e6a577 FG |
4871 | Option("rgw_reshard_num_logs", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4872 | .set_default(16) | |
4873 | .set_description(""), | |
c07f9fc5 | 4874 | |
d2e6a577 FG |
4875 | Option("rgw_reshard_bucket_lock_duration", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4876 | .set_default(120) | |
4877 | .set_description(""), | |
c07f9fc5 | 4878 | |
d2e6a577 FG |
4879 | Option("rgw_crypt_require_ssl", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4880 | .set_default(true) | |
4881 | .set_description(""), | |
c07f9fc5 | 4882 | |
d2e6a577 FG |
4883 | Option("rgw_crypt_default_encryption_key", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4884 | .set_default("") | |
4885 | .set_description(""), | |
4886 | ||
4887 | Option("rgw_crypt_s3_kms_encryption_keys", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4888 | .set_default("") | |
4889 | .set_description(""), | |
4890 | ||
4891 | Option("rgw_crypt_suppress_logs", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
4892 | .set_default(true) | |
4893 | .set_description(""), | |
4894 | ||
4895 | Option("rgw_list_bucket_min_readahead", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
4896 | .set_default(1000) | |
4897 | .set_description(""), | |
c07f9fc5 | 4898 | |
d2e6a577 FG |
4899 | Option("rgw_rest_getusage_op_compat", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4900 | .set_default(false) | |
4901 | .set_description(""), | |
c07f9fc5 | 4902 | |
d2e6a577 FG |
4903 | Option("rgw_torrent_flag", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
4904 | .set_default(false) | |
4905 | .set_description(""), | |
c07f9fc5 | 4906 | |
d2e6a577 FG |
4907 | Option("rgw_torrent_tracker", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4908 | .set_default("") | |
4909 | .set_description(""), | |
c07f9fc5 | 4910 | |
d2e6a577 FG |
4911 | Option("rgw_torrent_createby", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4912 | .set_default("") | |
4913 | .set_description(""), | |
c07f9fc5 | 4914 | |
d2e6a577 FG |
4915 | Option("rgw_torrent_comment", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4916 | .set_default("") | |
4917 | .set_description(""), | |
c07f9fc5 | 4918 | |
d2e6a577 FG |
4919 | Option("rgw_torrent_encoding", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4920 | .set_default("") | |
4921 | .set_description(""), | |
c07f9fc5 | 4922 | |
d2e6a577 FG |
4923 | Option("rgw_data_notify_interval_msec", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4924 | .set_default(200) | |
4925 | .set_description("data changes notification interval to followers"), | |
c07f9fc5 | 4926 | |
d2e6a577 FG |
4927 | Option("rgw_torrent_origin", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
4928 | .set_default("") | |
4929 | .set_description(""), | |
c07f9fc5 | 4930 | |
d2e6a577 FG |
4931 | Option("rgw_torrent_sha_unit", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4932 | .set_default(512*1024) | |
4933 | .set_description(""), | |
c07f9fc5 | 4934 | |
d2e6a577 | 4935 | Option("rgw_dynamic_resharding", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
181888fb | 4936 | .set_default(true) |
d2e6a577 | 4937 | .set_description(""), |
c07f9fc5 | 4938 | |
d2e6a577 FG |
4939 | Option("rgw_max_objs_per_shard", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
4940 | .set_default(100000) | |
4941 | .set_description(""), | |
c07f9fc5 | 4942 | |
d2e6a577 FG |
4943 | Option("rgw_reshard_thread_interval", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
4944 | .set_default(60 * 10) | |
4945 | .set_description(""), | |
4946 | }); | |
4947 | } | |
c07f9fc5 | 4948 | |
d2e6a577 FG |
4949 | static std::vector<Option> get_rbd_options() { |
4950 | return std::vector<Option>({ | |
4951 | Option("rbd_default_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4952 | .set_default("rbd") | |
181888fb | 4953 | .set_description("default pool for storing new images") |
d2e6a577 FG |
4954 | .set_validator([](std::string *value, std::string *error_message){ |
4955 | boost::regex pattern("^[^@/]+$"); | |
4956 | if (!boost::regex_match (*value, pattern)) { | |
4957 | *value = "rbd"; | |
4958 | *error_message = "invalid RBD default pool, resetting to 'rbd'"; | |
4959 | } | |
4960 | return 0; | |
4961 | }), | |
4962 | ||
4963 | Option("rbd_default_data_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4964 | .set_default("") | |
181888fb | 4965 | .set_description("default pool for storing data blocks for new images") |
d2e6a577 FG |
4966 | .set_validator([](std::string *value, std::string *error_message){ |
4967 | boost::regex pattern("^[^@/]*$"); | |
4968 | if (!boost::regex_match (*value, pattern)) { | |
4969 | *value = ""; | |
4970 | *error_message = "ignoring invalid RBD data pool"; | |
4971 | } | |
4972 | return 0; | |
4973 | }), | |
4974 | ||
4975 | Option("rbd_default_features", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
4976 | .set_default("layering,exclusive-lock,object-map,fast-diff,deep-flatten") | |
181888fb FG |
4977 | .set_description("default v2 image features for new images") |
4978 | .set_long_description( | |
4979 | "RBD features are only applicable for v2 images. This setting accepts " | |
4980 | "either an integer bitmask value or comma-delimited string of RBD " | |
4981 | "feature names. This setting is always internally stored as an integer " | |
4982 | "bitmask value. The mapping between feature bitmask value and feature " | |
4983 | "name is as follows: +1 -> layering, +2 -> striping, " | |
4984 | "+4 -> exclusive-lock, +8 -> object-map, +16 -> fast-diff, " | |
4985 | "+32 -> deep-flatten, +64 -> journaling, +128 -> data-pool") | |
d2e6a577 FG |
4986 | .set_safe() |
4987 | .set_validator([](std::string *value, std::string *error_message){ | |
4988 | static const std::map<std::string, uint64_t> FEATURE_MAP = { | |
4989 | {RBD_FEATURE_NAME_LAYERING, RBD_FEATURE_LAYERING}, | |
4990 | {RBD_FEATURE_NAME_STRIPINGV2, RBD_FEATURE_STRIPINGV2}, | |
4991 | {RBD_FEATURE_NAME_EXCLUSIVE_LOCK, RBD_FEATURE_EXCLUSIVE_LOCK}, | |
4992 | {RBD_FEATURE_NAME_OBJECT_MAP, RBD_FEATURE_OBJECT_MAP}, | |
4993 | {RBD_FEATURE_NAME_FAST_DIFF, RBD_FEATURE_FAST_DIFF}, | |
4994 | {RBD_FEATURE_NAME_DEEP_FLATTEN, RBD_FEATURE_DEEP_FLATTEN}, | |
4995 | {RBD_FEATURE_NAME_JOURNALING, RBD_FEATURE_JOURNALING}, | |
4996 | {RBD_FEATURE_NAME_DATA_POOL, RBD_FEATURE_DATA_POOL}, | |
4997 | }; | |
4998 | static_assert((RBD_FEATURE_DATA_POOL << 1) > RBD_FEATURES_ALL, | |
4999 | "new RBD feature added"); | |
5000 | ||
5001 | // convert user-friendly comma delimited feature name list to a bitmask | |
5002 | // that is used by the librbd API | |
5003 | uint64_t features = 0; | |
5004 | error_message->clear(); | |
5005 | ||
5006 | try { | |
5007 | features = boost::lexical_cast<decltype(features)>(*value); | |
5008 | ||
5009 | uint64_t unsupported_features = (features & ~RBD_FEATURES_ALL); | |
5010 | if (unsupported_features != 0ull) { | |
5011 | features &= RBD_FEATURES_ALL; | |
5012 | ||
5013 | std::stringstream ss; | |
5014 | ss << "ignoring unknown feature mask 0x" | |
5015 | << std::hex << unsupported_features; | |
5016 | *error_message = ss.str(); | |
5017 | } | |
5018 | } catch (const boost::bad_lexical_cast& ) { | |
5019 | int r = 0; | |
5020 | std::vector<std::string> feature_names; | |
5021 | boost::split(feature_names, *value, boost::is_any_of(",")); | |
5022 | for (auto feature_name: feature_names) { | |
5023 | boost::trim(feature_name); | |
5024 | auto feature_it = FEATURE_MAP.find(feature_name); | |
5025 | if (feature_it != FEATURE_MAP.end()) { | |
5026 | features += feature_it->second; | |
5027 | } else { | |
5028 | if (!error_message->empty()) { | |
5029 | *error_message += ", "; | |
5030 | } | |
5031 | *error_message += "ignoring unknown feature " + feature_name; | |
5032 | r = -EINVAL; | |
5033 | } | |
5034 | } | |
c07f9fc5 | 5035 | |
d2e6a577 FG |
5036 | if (features == 0 && r == -EINVAL) { |
5037 | features = RBD_FEATURES_DEFAULT; | |
5038 | } | |
5039 | } | |
5040 | *value = stringify(features); | |
5041 | return 0; | |
5042 | }), | |
5043 | ||
5044 | Option("rbd_op_threads", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5045 | .set_default(1) | |
181888fb | 5046 | .set_description("number of threads to utilize for internal processing"), |
d2e6a577 FG |
5047 | |
5048 | Option("rbd_op_thread_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5049 | .set_default(60) | |
181888fb | 5050 | .set_description("time in seconds for detecting a hung thread"), |
d2e6a577 FG |
5051 | |
5052 | Option("rbd_non_blocking_aio", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5053 | .set_default(true) | |
181888fb | 5054 | .set_description("process AIO ops from a dispatch thread to prevent blocking"), |
d2e6a577 FG |
5055 | |
5056 | Option("rbd_cache", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5057 | .set_default(true) | |
181888fb | 5058 | .set_description("whether to enable caching (writeback unless rbd_cache_max_dirty is 0)"), |
d2e6a577 FG |
5059 | |
5060 | Option("rbd_cache_writethrough_until_flush", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5061 | .set_default(true) | |
181888fb FG |
5062 | .set_description("whether to make writeback caching writethrough until " |
5063 | "flush is called, to be sure the user of librbd will send " | |
5064 | "flushes so that writeback is safe"), | |
d2e6a577 FG |
5065 | |
5066 | Option("rbd_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5067 | .set_default(32<<20) | |
181888fb | 5068 | .set_description("cache size in bytes"), |
d2e6a577 FG |
5069 | |
5070 | Option("rbd_cache_max_dirty", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5071 | .set_default(24<<20) | |
181888fb | 5072 | .set_description("dirty limit in bytes - set to 0 for write-through caching"), |
d2e6a577 FG |
5073 | |
5074 | Option("rbd_cache_target_dirty", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5075 | .set_default(16<<20) | |
181888fb | 5076 | .set_description("target dirty limit in bytes"), |
d2e6a577 FG |
5077 | |
5078 | Option("rbd_cache_max_dirty_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
5079 | .set_default(1.0) | |
181888fb | 5080 | .set_description("seconds in cache before writeback starts"), |
d2e6a577 FG |
5081 | |
5082 | Option("rbd_cache_max_dirty_object", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5083 | .set_default(0) | |
181888fb | 5084 | .set_description("dirty limit for objects - set to 0 for auto calculate from rbd_cache_size"), |
d2e6a577 FG |
5085 | |
5086 | Option("rbd_cache_block_writes_upfront", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5087 | .set_default(false) | |
181888fb | 5088 | .set_description("whether to block writes to the cache before the aio_write call completes"), |
d2e6a577 FG |
5089 | |
5090 | Option("rbd_concurrent_management_ops", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5091 | .set_default(10) | |
5092 | .set_min(1) | |
181888fb | 5093 | .set_description("how many operations can be in flight for a management operation like deleting or resizing an image"), |
c07f9fc5 | 5094 | |
d2e6a577 FG |
5095 | Option("rbd_balance_snap_reads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5096 | .set_default(false) | |
181888fb | 5097 | .set_description("distribute snap read requests to random OSD"), |
c07f9fc5 | 5098 | |
d2e6a577 FG |
5099 | Option("rbd_localize_snap_reads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5100 | .set_default(false) | |
181888fb | 5101 | .set_description("localize snap read requests to closest OSD"), |
c07f9fc5 | 5102 | |
d2e6a577 FG |
5103 | Option("rbd_balance_parent_reads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5104 | .set_default(false) | |
181888fb | 5105 | .set_description("distribute parent read requests to random OSD"), |
c07f9fc5 | 5106 | |
d2e6a577 FG |
5107 | Option("rbd_localize_parent_reads", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5108 | .set_default(false) | |
181888fb | 5109 | .set_description("localize parent requests to closest OSD"), |
c07f9fc5 | 5110 | |
d2e6a577 FG |
5111 | Option("rbd_readahead_trigger_requests", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5112 | .set_default(10) | |
181888fb | 5113 | .set_description("number of sequential requests necessary to trigger readahead"), |
c07f9fc5 | 5114 | |
d2e6a577 FG |
5115 | Option("rbd_readahead_max_bytes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5116 | .set_default(512 * 1024) | |
181888fb | 5117 | .set_description("set to 0 to disable readahead"), |
c07f9fc5 | 5118 | |
d2e6a577 FG |
5119 | Option("rbd_readahead_disable_after_bytes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5120 | .set_default(50 * 1024 * 1024) | |
181888fb | 5121 | .set_description("how many bytes are read in total before readahead is disabled"), |
c07f9fc5 | 5122 | |
d2e6a577 FG |
5123 | Option("rbd_clone_copy_on_read", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5124 | .set_default(false) | |
181888fb | 5125 | .set_description("copy-up parent image blocks to clone upon read request"), |
c07f9fc5 | 5126 | |
d2e6a577 FG |
5127 | Option("rbd_blacklist_on_break_lock", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5128 | .set_default(true) | |
181888fb | 5129 | .set_description("whether to blacklist clients whose lock was broken"), |
c07f9fc5 | 5130 | |
d2e6a577 FG |
5131 | Option("rbd_blacklist_expire_seconds", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5132 | .set_default(0) | |
181888fb | 5133 | .set_description("number of seconds to blacklist - set to 0 for OSD default"), |
c07f9fc5 | 5134 | |
d2e6a577 FG |
5135 | Option("rbd_request_timed_out_seconds", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5136 | .set_default(30) | |
181888fb | 5137 | .set_description("number of seconds before maintenance request times out"), |
c07f9fc5 | 5138 | |
d2e6a577 FG |
5139 | Option("rbd_skip_partial_discard", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5140 | .set_default(false) | |
181888fb | 5141 | .set_description("when trying to discard a range inside an object, set to true to skip zeroing the range"), |
c07f9fc5 | 5142 | |
d2e6a577 FG |
5143 | Option("rbd_enable_alloc_hint", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5144 | .set_default(true) | |
181888fb | 5145 | .set_description("when writing a object, it will issue a hint to osd backend to indicate the expected size object need"), |
c07f9fc5 | 5146 | |
d2e6a577 FG |
5147 | Option("rbd_tracing", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5148 | .set_default(false) | |
181888fb | 5149 | .set_description("true if LTTng-UST tracepoints should be enabled"), |
c07f9fc5 | 5150 | |
d2e6a577 FG |
5151 | Option("rbd_blkin_trace_all", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5152 | .set_default(false) | |
181888fb | 5153 | .set_description("create a blkin trace for all RBD requests"), |
c07f9fc5 | 5154 | |
d2e6a577 FG |
5155 | Option("rbd_validate_pool", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5156 | .set_default(true) | |
181888fb | 5157 | .set_description("validate empty pools for RBD compatibility"), |
c07f9fc5 | 5158 | |
d2e6a577 FG |
5159 | Option("rbd_validate_names", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5160 | .set_default(true) | |
181888fb | 5161 | .set_description("validate new image names for RBD compatibility"), |
d2e6a577 FG |
5162 | |
5163 | Option("rbd_auto_exclusive_lock_until_manual_request", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5164 | .set_default(true) | |
181888fb | 5165 | .set_description("automatically acquire/release exclusive lock until it is explicitly requested"), |
d2e6a577 FG |
5166 | |
5167 | Option("rbd_mirroring_resync_after_disconnect", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5168 | .set_default(false) | |
181888fb | 5169 | .set_description("automatically start image resync after mirroring is disconnected due to being laggy"), |
d2e6a577 FG |
5170 | |
5171 | Option("rbd_mirroring_replay_delay", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5172 | .set_default(0) | |
181888fb | 5173 | .set_description("time-delay in seconds for rbd-mirror asynchronous replication"), |
d2e6a577 FG |
5174 | |
5175 | Option("rbd_default_format", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5176 | .set_default(2) | |
181888fb | 5177 | .set_description("default image format for new images"), |
d2e6a577 FG |
5178 | |
5179 | Option("rbd_default_order", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5180 | .set_default(22) | |
181888fb | 5181 | .set_description("default order (data block object size) for new images"), |
d2e6a577 FG |
5182 | |
5183 | Option("rbd_default_stripe_count", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
5184 | .set_default(0) | |
181888fb | 5185 | .set_description("default stripe count for new images"), |
d2e6a577 FG |
5186 | |
5187 | Option("rbd_default_stripe_unit", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
5188 | .set_default(0) | |
181888fb | 5189 | .set_description("default stripe width for new images"), |
d2e6a577 FG |
5190 | |
5191 | Option("rbd_default_map_options", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
5192 | .set_default("") | |
181888fb | 5193 | .set_description("default krbd map options"), |
c07f9fc5 | 5194 | |
d2e6a577 | 5195 | Option("rbd_journal_order", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
181888fb | 5196 | .set_min(12) |
d2e6a577 | 5197 | .set_default(24) |
181888fb | 5198 | .set_description("default order (object size) for journal data objects"), |
c07f9fc5 | 5199 | |
d2e6a577 FG |
5200 | Option("rbd_journal_splay_width", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5201 | .set_default(4) | |
181888fb | 5202 | .set_description("number of active journal objects"), |
c07f9fc5 | 5203 | |
d2e6a577 FG |
5204 | Option("rbd_journal_commit_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5205 | .set_default(5) | |
181888fb | 5206 | .set_description("commit time interval, seconds"), |
c07f9fc5 | 5207 | |
d2e6a577 FG |
5208 | Option("rbd_journal_object_flush_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5209 | .set_default(0) | |
181888fb | 5210 | .set_description("maximum number of pending commits per journal object"), |
c07f9fc5 | 5211 | |
d2e6a577 FG |
5212 | Option("rbd_journal_object_flush_bytes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5213 | .set_default(0) | |
181888fb | 5214 | .set_description("maximum number of pending bytes per journal object"), |
c07f9fc5 | 5215 | |
d2e6a577 FG |
5216 | Option("rbd_journal_object_flush_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5217 | .set_default(0) | |
181888fb | 5218 | .set_description("maximum age (in seconds) for pending commits"), |
c07f9fc5 | 5219 | |
d2e6a577 FG |
5220 | Option("rbd_journal_pool", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5221 | .set_default("") | |
181888fb | 5222 | .set_description("pool for journal objects"), |
c07f9fc5 | 5223 | |
d2e6a577 FG |
5224 | Option("rbd_journal_max_payload_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5225 | .set_default(16384) | |
181888fb | 5226 | .set_description("maximum journal payload size before splitting"), |
c07f9fc5 | 5227 | |
d2e6a577 FG |
5228 | Option("rbd_journal_max_concurrent_object_sets", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5229 | .set_default(0) | |
181888fb FG |
5230 | .set_description("maximum number of object sets a journal client can be behind before it is automatically unregistered"), |
5231 | }); | |
5232 | } | |
c07f9fc5 | 5233 | |
181888fb FG |
5234 | static std::vector<Option> get_rbd_mirror_options() { |
5235 | return std::vector<Option>({ | |
d2e6a577 FG |
5236 | Option("rbd_mirror_journal_commit_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5237 | .set_default(5) | |
181888fb | 5238 | .set_description("commit time interval, seconds"), |
c07f9fc5 | 5239 | |
d2e6a577 FG |
5240 | Option("rbd_mirror_journal_poll_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5241 | .set_default(5) | |
181888fb | 5242 | .set_description("maximum age (in seconds) between successive journal polls"), |
c07f9fc5 | 5243 | |
d2e6a577 FG |
5244 | Option("rbd_mirror_journal_max_fetch_bytes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5245 | .set_default(32768) | |
181888fb | 5246 | .set_description("maximum bytes to read from each journal data object per fetch"), |
c07f9fc5 | 5247 | |
d2e6a577 FG |
5248 | Option("rbd_mirror_sync_point_update_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5249 | .set_default(30) | |
181888fb | 5250 | .set_description("number of seconds between each update of the image sync point object number"), |
c07f9fc5 | 5251 | |
d2e6a577 FG |
5252 | Option("rbd_mirror_concurrent_image_syncs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5253 | .set_default(5) | |
181888fb | 5254 | .set_description("maximum number of image syncs in parallel"), |
c07f9fc5 | 5255 | |
d2e6a577 FG |
5256 | Option("rbd_mirror_pool_replayers_refresh_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5257 | .set_default(30) | |
181888fb | 5258 | .set_description("interval to refresh peers in rbd-mirror daemon"), |
c07f9fc5 | 5259 | |
d2e6a577 FG |
5260 | Option("rbd_mirror_delete_retry_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5261 | .set_default(30) | |
181888fb | 5262 | .set_description("interval to check and retry the failed requests in deleter"), |
c07f9fc5 | 5263 | |
d2e6a577 FG |
5264 | Option("rbd_mirror_image_state_check_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5265 | .set_default(30) | |
5266 | .set_min(1) | |
181888fb | 5267 | .set_description("interval to get images from pool watcher and set sources in replayer"), |
d2e6a577 FG |
5268 | |
5269 | Option("rbd_mirror_leader_heartbeat_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5270 | .set_default(5) | |
5271 | .set_min(1) | |
181888fb | 5272 | .set_description("interval (in seconds) between mirror leader heartbeats"), |
d2e6a577 FG |
5273 | |
5274 | Option("rbd_mirror_leader_max_missed_heartbeats", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5275 | .set_default(2) | |
181888fb | 5276 | .set_description("number of missed heartbeats for non-lock owner to attempt to acquire lock"), |
d2e6a577 FG |
5277 | |
5278 | Option("rbd_mirror_leader_max_acquire_attempts_before_break", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5279 | .set_default(3) | |
181888fb | 5280 | .set_description("number of failed attempts to acquire lock after missing heartbeats before breaking lock"), |
d2e6a577 FG |
5281 | }); |
5282 | } | |
5283 | ||
5284 | std::vector<Option> get_mds_options() { | |
5285 | return std::vector<Option>({ | |
5286 | Option("mds_data", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
5287 | .set_default("/var/lib/ceph/mds/$cluster-$id") | |
5288 | .set_description(""), | |
c07f9fc5 | 5289 | |
d2e6a577 FG |
5290 | Option("mds_max_file_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5291 | .set_default(1ULL << 40) | |
5292 | .set_description(""), | |
c07f9fc5 | 5293 | |
d2e6a577 FG |
5294 | Option("mds_max_xattr_pairs_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5295 | .set_default(64 << 10) | |
5296 | .set_description(""), | |
c07f9fc5 | 5297 | |
d2e6a577 | 5298 | Option("mds_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
181888fb FG |
5299 | .set_default(0) |
5300 | .set_description("maximum number of inodes in MDS cache (<=0 is unlimited)") | |
5301 | .set_long_description("This tunable is no longer recommended. Use mds_cache_memory_limit."), | |
5302 | ||
5303 | Option("mds_cache_memory_limit", Option::TYPE_UINT, Option::LEVEL_BASIC) | |
5304 | .set_default(1*(1LL<<30)) | |
5305 | .set_description("target maximum memory usage of MDS cache") | |
5306 | .set_long_description("This sets a target maximum memory usage of the MDS cache and is the primary tunable to limit the MDS memory usage. The MDS will try to stay under a reservation of this limit (by default 95%; 1 - mds_cache_reservation) by trimming unused metadata in its cache and recalling cached items in the client caches. It is possible for the MDS to exceed this limit due to slow recall from clients. The mds_health_cache_threshold (150%) sets a cache full threshold for when the MDS signals a cluster health warning."), | |
5307 | ||
5308 | Option("mds_cache_reservation", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
5309 | .set_default(.05) | |
5310 | .set_description("amount of memory to reserve"), | |
5311 | ||
5312 | Option("mds_health_cache_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) | |
5313 | .set_default(1.5) | |
5314 | .set_description("threshold for cache size to generate health warning"), | |
c07f9fc5 | 5315 | |
d2e6a577 FG |
5316 | Option("mds_cache_mid", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5317 | .set_default(.7) | |
5318 | .set_description(""), | |
c07f9fc5 | 5319 | |
d2e6a577 FG |
5320 | Option("mds_max_file_recover", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5321 | .set_default(32) | |
5322 | .set_description(""), | |
c07f9fc5 | 5323 | |
d2e6a577 FG |
5324 | Option("mds_dir_max_commit_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5325 | .set_default(10) | |
5326 | .set_description(""), | |
c07f9fc5 | 5327 | |
d2e6a577 FG |
5328 | Option("mds_dir_keys_per_op", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5329 | .set_default(16384) | |
5330 | .set_description(""), | |
c07f9fc5 | 5331 | |
d2e6a577 FG |
5332 | Option("mds_decay_halflife", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5333 | .set_default(5) | |
5334 | .set_description(""), | |
c07f9fc5 | 5335 | |
d2e6a577 FG |
5336 | Option("mds_beacon_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5337 | .set_default(4) | |
5338 | .set_description(""), | |
c07f9fc5 | 5339 | |
d2e6a577 FG |
5340 | Option("mds_beacon_grace", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5341 | .set_default(15) | |
5342 | .set_description(""), | |
c07f9fc5 | 5343 | |
d2e6a577 FG |
5344 | Option("mds_enforce_unique_name", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5345 | .set_default(true) | |
5346 | .set_description(""), | |
c07f9fc5 | 5347 | |
d2e6a577 FG |
5348 | Option("mds_blacklist_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5349 | .set_default(24.0*60.0) | |
5350 | .set_description(""), | |
c07f9fc5 | 5351 | |
d2e6a577 FG |
5352 | Option("mds_session_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5353 | .set_default(60) | |
5354 | .set_description(""), | |
c07f9fc5 | 5355 | |
d2e6a577 FG |
5356 | Option("mds_session_blacklist_on_timeout", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5357 | .set_default(true) | |
5358 | .set_description(""), | |
c07f9fc5 | 5359 | |
d2e6a577 FG |
5360 | Option("mds_session_blacklist_on_evict", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5361 | .set_default(true) | |
5362 | .set_description(""), | |
c07f9fc5 | 5363 | |
d2e6a577 FG |
5364 | Option("mds_sessionmap_keys_per_op", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5365 | .set_default(1024) | |
5366 | .set_description(""), | |
c07f9fc5 | 5367 | |
d2e6a577 FG |
5368 | Option("mds_revoke_cap_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5369 | .set_default(60) | |
5370 | .set_description(""), | |
c07f9fc5 | 5371 | |
d2e6a577 FG |
5372 | Option("mds_recall_state_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5373 | .set_default(60) | |
5374 | .set_description(""), | |
c07f9fc5 | 5375 | |
d2e6a577 FG |
5376 | Option("mds_freeze_tree_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5377 | .set_default(30) | |
5378 | .set_description(""), | |
c07f9fc5 | 5379 | |
d2e6a577 FG |
5380 | Option("mds_session_autoclose", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5381 | .set_default(300) | |
5382 | .set_description(""), | |
c07f9fc5 | 5383 | |
d2e6a577 FG |
5384 | Option("mds_health_summarize_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5385 | .set_default(10) | |
5386 | .set_description(""), | |
c07f9fc5 | 5387 | |
d2e6a577 FG |
5388 | Option("mds_reconnect_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5389 | .set_default(45) | |
5390 | .set_description(""), | |
c07f9fc5 | 5391 | |
d2e6a577 FG |
5392 | Option("mds_tick_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5393 | .set_default(5) | |
5394 | .set_description(""), | |
c07f9fc5 | 5395 | |
d2e6a577 FG |
5396 | Option("mds_dirstat_min_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5397 | .set_default(1) | |
5398 | .set_description(""), | |
c07f9fc5 | 5399 | |
d2e6a577 FG |
5400 | Option("mds_scatter_nudge_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5401 | .set_default(5) | |
5402 | .set_description(""), | |
c07f9fc5 | 5403 | |
d2e6a577 FG |
5404 | Option("mds_client_prealloc_inos", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5405 | .set_default(1000) | |
5406 | .set_description(""), | |
c07f9fc5 | 5407 | |
d2e6a577 FG |
5408 | Option("mds_early_reply", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5409 | .set_default(true) | |
5410 | .set_description(""), | |
c07f9fc5 | 5411 | |
d2e6a577 FG |
5412 | Option("mds_default_dir_hash", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5413 | .set_default(CEPH_STR_HASH_RJENKINS) | |
5414 | .set_description(""), | |
c07f9fc5 | 5415 | |
d2e6a577 FG |
5416 | Option("mds_log_pause", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5417 | .set_default(false) | |
5418 | .set_description(""), | |
c07f9fc5 | 5419 | |
d2e6a577 FG |
5420 | Option("mds_log_skip_corrupt_events", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5421 | .set_default(false) | |
5422 | .set_description(""), | |
c07f9fc5 | 5423 | |
d2e6a577 FG |
5424 | Option("mds_log_max_events", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5425 | .set_default(-1) | |
5426 | .set_description(""), | |
c07f9fc5 | 5427 | |
d2e6a577 FG |
5428 | Option("mds_log_events_per_segment", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5429 | .set_default(1024) | |
5430 | .set_description(""), | |
c07f9fc5 | 5431 | |
d2e6a577 FG |
5432 | Option("mds_log_segment_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5433 | .set_default(0) | |
5434 | .set_description(""), | |
c07f9fc5 | 5435 | |
d2e6a577 FG |
5436 | Option("mds_log_max_segments", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5437 | .set_default(30) | |
5438 | .set_description(""), | |
c07f9fc5 | 5439 | |
d2e6a577 FG |
5440 | Option("mds_log_max_expiring", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5441 | .set_default(20) | |
5442 | .set_description(""), | |
c07f9fc5 | 5443 | |
d2e6a577 FG |
5444 | Option("mds_bal_export_pin", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5445 | .set_default(true) | |
5446 | .set_description(""), | |
c07f9fc5 | 5447 | |
d2e6a577 FG |
5448 | Option("mds_bal_sample_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5449 | .set_default(3.0) | |
5450 | .set_description(""), | |
c07f9fc5 | 5451 | |
d2e6a577 FG |
5452 | Option("mds_bal_replicate_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5453 | .set_default(8000) | |
5454 | .set_description(""), | |
c07f9fc5 | 5455 | |
d2e6a577 FG |
5456 | Option("mds_bal_unreplicate_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5457 | .set_default(0) | |
5458 | .set_description(""), | |
c07f9fc5 | 5459 | |
d2e6a577 FG |
5460 | Option("mds_bal_frag", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5461 | .set_default(true) | |
5462 | .set_description(""), | |
c07f9fc5 | 5463 | |
d2e6a577 FG |
5464 | Option("mds_bal_split_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5465 | .set_default(10000) | |
5466 | .set_description(""), | |
c07f9fc5 | 5467 | |
d2e6a577 FG |
5468 | Option("mds_bal_split_rd", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5469 | .set_default(25000) | |
5470 | .set_description(""), | |
c07f9fc5 | 5471 | |
d2e6a577 FG |
5472 | Option("mds_bal_split_wr", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5473 | .set_default(10000) | |
5474 | .set_description(""), | |
c07f9fc5 | 5475 | |
d2e6a577 FG |
5476 | Option("mds_bal_split_bits", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5477 | .set_default(3) | |
5478 | .set_description(""), | |
c07f9fc5 | 5479 | |
d2e6a577 FG |
5480 | Option("mds_bal_merge_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5481 | .set_default(50) | |
5482 | .set_description(""), | |
c07f9fc5 | 5483 | |
d2e6a577 FG |
5484 | Option("mds_bal_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5485 | .set_default(10) | |
5486 | .set_description(""), | |
c07f9fc5 | 5487 | |
d2e6a577 FG |
5488 | Option("mds_bal_fragment_interval", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5489 | .set_default(5) | |
5490 | .set_description(""), | |
c07f9fc5 | 5491 | |
d2e6a577 FG |
5492 | Option("mds_bal_fragment_size_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5493 | .set_default(10000*10) | |
5494 | .set_description(""), | |
c07f9fc5 | 5495 | |
d2e6a577 FG |
5496 | Option("mds_bal_fragment_fast_factor", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5497 | .set_default(1.5) | |
5498 | .set_description(""), | |
c07f9fc5 | 5499 | |
d2e6a577 FG |
5500 | Option("mds_bal_idle_threshold", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5501 | .set_default(0) | |
5502 | .set_description(""), | |
c07f9fc5 | 5503 | |
d2e6a577 FG |
5504 | Option("mds_bal_max", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5505 | .set_default(-1) | |
5506 | .set_description(""), | |
c07f9fc5 | 5507 | |
d2e6a577 FG |
5508 | Option("mds_bal_max_until", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5509 | .set_default(-1) | |
5510 | .set_description(""), | |
c07f9fc5 | 5511 | |
d2e6a577 FG |
5512 | Option("mds_bal_mode", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5513 | .set_default(0) | |
5514 | .set_description(""), | |
c07f9fc5 | 5515 | |
d2e6a577 FG |
5516 | Option("mds_bal_min_rebalance", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5517 | .set_default(.1) | |
5518 | .set_description(""), | |
c07f9fc5 | 5519 | |
d2e6a577 FG |
5520 | Option("mds_bal_min_start", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5521 | .set_default(.2) | |
5522 | .set_description(""), | |
c07f9fc5 | 5523 | |
d2e6a577 FG |
5524 | Option("mds_bal_need_min", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5525 | .set_default(.8) | |
5526 | .set_description(""), | |
c07f9fc5 | 5527 | |
d2e6a577 FG |
5528 | Option("mds_bal_need_max", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5529 | .set_default(1.2) | |
5530 | .set_description(""), | |
c07f9fc5 | 5531 | |
d2e6a577 FG |
5532 | Option("mds_bal_midchunk", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5533 | .set_default(.3) | |
5534 | .set_description(""), | |
c07f9fc5 | 5535 | |
d2e6a577 FG |
5536 | Option("mds_bal_minchunk", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5537 | .set_default(.001) | |
5538 | .set_description(""), | |
c07f9fc5 | 5539 | |
d2e6a577 FG |
5540 | Option("mds_bal_target_decay", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5541 | .set_default(10.0) | |
5542 | .set_description(""), | |
c07f9fc5 | 5543 | |
d2e6a577 FG |
5544 | Option("mds_replay_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5545 | .set_default(1.0) | |
5546 | .set_description(""), | |
c07f9fc5 | 5547 | |
d2e6a577 FG |
5548 | Option("mds_shutdown_check", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5549 | .set_default(0) | |
5550 | .set_description(""), | |
c07f9fc5 | 5551 | |
d2e6a577 FG |
5552 | Option("mds_thrash_exports", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5553 | .set_default(0) | |
5554 | .set_description(""), | |
c07f9fc5 | 5555 | |
d2e6a577 FG |
5556 | Option("mds_thrash_fragments", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5557 | .set_default(0) | |
5558 | .set_description(""), | |
c07f9fc5 | 5559 | |
d2e6a577 FG |
5560 | Option("mds_dump_cache_on_map", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5561 | .set_default(false) | |
5562 | .set_description(""), | |
c07f9fc5 | 5563 | |
d2e6a577 FG |
5564 | Option("mds_dump_cache_after_rejoin", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5565 | .set_default(false) | |
5566 | .set_description(""), | |
c07f9fc5 | 5567 | |
d2e6a577 FG |
5568 | Option("mds_verify_scatter", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5569 | .set_default(false) | |
5570 | .set_description(""), | |
c07f9fc5 | 5571 | |
d2e6a577 FG |
5572 | Option("mds_debug_scatterstat", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5573 | .set_default(false) | |
5574 | .set_description(""), | |
c07f9fc5 | 5575 | |
d2e6a577 FG |
5576 | Option("mds_debug_frag", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5577 | .set_default(false) | |
5578 | .set_description(""), | |
c07f9fc5 | 5579 | |
d2e6a577 FG |
5580 | Option("mds_debug_auth_pins", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5581 | .set_default(false) | |
5582 | .set_description(""), | |
c07f9fc5 | 5583 | |
d2e6a577 FG |
5584 | Option("mds_debug_subtrees", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5585 | .set_default(false) | |
5586 | .set_description(""), | |
c07f9fc5 | 5587 | |
d2e6a577 FG |
5588 | Option("mds_kill_mdstable_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5589 | .set_default(0) | |
5590 | .set_description(""), | |
c07f9fc5 | 5591 | |
d2e6a577 FG |
5592 | Option("mds_kill_export_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5593 | .set_default(0) | |
5594 | .set_description(""), | |
c07f9fc5 | 5595 | |
d2e6a577 FG |
5596 | Option("mds_kill_import_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5597 | .set_default(0) | |
5598 | .set_description(""), | |
c07f9fc5 | 5599 | |
d2e6a577 FG |
5600 | Option("mds_kill_link_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5601 | .set_default(0) | |
5602 | .set_description(""), | |
c07f9fc5 | 5603 | |
d2e6a577 FG |
5604 | Option("mds_kill_rename_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5605 | .set_default(0) | |
5606 | .set_description(""), | |
c07f9fc5 | 5607 | |
d2e6a577 FG |
5608 | Option("mds_kill_openc_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5609 | .set_default(0) | |
5610 | .set_description(""), | |
c07f9fc5 | 5611 | |
d2e6a577 FG |
5612 | Option("mds_kill_journal_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5613 | .set_default(0) | |
5614 | .set_description(""), | |
c07f9fc5 | 5615 | |
d2e6a577 FG |
5616 | Option("mds_kill_journal_expire_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5617 | .set_default(0) | |
5618 | .set_description(""), | |
c07f9fc5 | 5619 | |
d2e6a577 FG |
5620 | Option("mds_kill_journal_replay_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5621 | .set_default(0) | |
5622 | .set_description(""), | |
c07f9fc5 | 5623 | |
d2e6a577 FG |
5624 | Option("mds_journal_format", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5625 | .set_default(1) | |
5626 | .set_description(""), | |
c07f9fc5 | 5627 | |
d2e6a577 FG |
5628 | Option("mds_kill_create_at", Option::TYPE_INT, Option::LEVEL_DEV) |
5629 | .set_default(0) | |
5630 | .set_description(""), | |
c07f9fc5 | 5631 | |
d2e6a577 FG |
5632 | Option("mds_inject_traceless_reply_probability", Option::TYPE_FLOAT, Option::LEVEL_DEV) |
5633 | .set_default(0) | |
5634 | .set_description(""), | |
c07f9fc5 | 5635 | |
d2e6a577 FG |
5636 | Option("mds_wipe_sessions", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5637 | .set_default(0) | |
5638 | .set_description(""), | |
c07f9fc5 | 5639 | |
d2e6a577 FG |
5640 | Option("mds_wipe_ino_prealloc", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5641 | .set_default(0) | |
5642 | .set_description(""), | |
c07f9fc5 | 5643 | |
d2e6a577 FG |
5644 | Option("mds_skip_ino", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5645 | .set_default(0) | |
5646 | .set_description(""), | |
c07f9fc5 | 5647 | |
d2e6a577 FG |
5648 | Option("mds_standby_for_name", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5649 | .set_default("") | |
5650 | .set_description(""), | |
c07f9fc5 | 5651 | |
d2e6a577 FG |
5652 | Option("mds_standby_for_rank", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5653 | .set_default(-1) | |
5654 | .set_description(""), | |
c07f9fc5 | 5655 | |
d2e6a577 FG |
5656 | Option("mds_standby_for_fscid", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5657 | .set_default(-1) | |
5658 | .set_description(""), | |
c07f9fc5 | 5659 | |
d2e6a577 FG |
5660 | Option("mds_standby_replay", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5661 | .set_default(false) | |
5662 | .set_description(""), | |
c07f9fc5 | 5663 | |
d2e6a577 FG |
5664 | Option("mds_enable_op_tracker", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5665 | .set_default(true) | |
5666 | .set_description(""), | |
c07f9fc5 | 5667 | |
d2e6a577 FG |
5668 | Option("mds_op_history_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5669 | .set_default(20) | |
5670 | .set_description(""), | |
c07f9fc5 | 5671 | |
d2e6a577 FG |
5672 | Option("mds_op_history_duration", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5673 | .set_default(600) | |
5674 | .set_description(""), | |
c07f9fc5 | 5675 | |
d2e6a577 FG |
5676 | Option("mds_op_complaint_time", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5677 | .set_default(30) | |
5678 | .set_description(""), | |
c07f9fc5 | 5679 | |
d2e6a577 FG |
5680 | Option("mds_op_log_threshold", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5681 | .set_default(5) | |
5682 | .set_description(""), | |
c07f9fc5 | 5683 | |
d2e6a577 FG |
5684 | Option("mds_snap_min_uid", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5685 | .set_default(0) | |
5686 | .set_description(""), | |
c07f9fc5 | 5687 | |
d2e6a577 FG |
5688 | Option("mds_snap_max_uid", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5689 | .set_default(4294967294) | |
5690 | .set_description(""), | |
c07f9fc5 | 5691 | |
d2e6a577 FG |
5692 | Option("mds_snap_rstat", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5693 | .set_default(false) | |
5694 | .set_description(""), | |
c07f9fc5 | 5695 | |
d2e6a577 FG |
5696 | Option("mds_verify_backtrace", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5697 | .set_default(1) | |
5698 | .set_description(""), | |
c07f9fc5 | 5699 | |
d2e6a577 FG |
5700 | Option("mds_max_completed_flushes", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5701 | .set_default(100000) | |
5702 | .set_description(""), | |
c07f9fc5 | 5703 | |
d2e6a577 FG |
5704 | Option("mds_max_completed_requests", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5705 | .set_default(100000) | |
5706 | .set_description(""), | |
c07f9fc5 | 5707 | |
d2e6a577 FG |
5708 | Option("mds_action_on_write_error", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5709 | .set_default(1) | |
5710 | .set_description(""), | |
c07f9fc5 | 5711 | |
d2e6a577 FG |
5712 | Option("mds_mon_shutdown_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5713 | .set_default(5) | |
5714 | .set_description(""), | |
c07f9fc5 | 5715 | |
d2e6a577 FG |
5716 | Option("mds_max_purge_files", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5717 | .set_default(64) | |
5718 | .set_description(""), | |
c07f9fc5 | 5719 | |
d2e6a577 FG |
5720 | Option("mds_max_purge_ops", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5721 | .set_default(8192) | |
5722 | .set_description(""), | |
c07f9fc5 | 5723 | |
d2e6a577 FG |
5724 | Option("mds_max_purge_ops_per_pg", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5725 | .set_default(0.5) | |
5726 | .set_description(""), | |
c07f9fc5 | 5727 | |
d2e6a577 FG |
5728 | Option("mds_purge_queue_busy_flush_period", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5729 | .set_default(1.0) | |
5730 | .set_description(""), | |
c07f9fc5 | 5731 | |
d2e6a577 FG |
5732 | Option("mds_root_ino_uid", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5733 | .set_default(0) | |
5734 | .set_description(""), | |
c07f9fc5 | 5735 | |
d2e6a577 FG |
5736 | Option("mds_root_ino_gid", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5737 | .set_default(0) | |
5738 | .set_description(""), | |
c07f9fc5 | 5739 | |
d2e6a577 FG |
5740 | Option("mds_max_scrub_ops_in_progress", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5741 | .set_default(5) | |
5742 | .set_description(""), | |
c07f9fc5 | 5743 | |
d2e6a577 FG |
5744 | Option("mds_damage_table_max_entries", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5745 | .set_default(10000) | |
5746 | .set_description(""), | |
5747 | ||
5748 | Option("mds_client_writeable_range_max_inc_objs", Option::TYPE_UINT, Option::LEVEL_ADVANCED) | |
5749 | .set_default(1024) | |
5750 | .set_description(""), | |
5751 | }); | |
5752 | } | |
c07f9fc5 | 5753 | |
d2e6a577 FG |
5754 | std::vector<Option> get_mds_client_options() { |
5755 | return std::vector<Option>({ | |
5756 | Option("client_cache_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) | |
5757 | .set_default(16384) | |
5758 | .set_description(""), | |
c07f9fc5 | 5759 | |
d2e6a577 FG |
5760 | Option("client_cache_mid", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5761 | .set_default(.75) | |
5762 | .set_description(""), | |
c07f9fc5 | 5763 | |
d2e6a577 FG |
5764 | Option("client_use_random_mds", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5765 | .set_default(false) | |
5766 | .set_description(""), | |
c07f9fc5 | 5767 | |
d2e6a577 FG |
5768 | Option("client_mount_timeout", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5769 | .set_default(300.0) | |
5770 | .set_description(""), | |
c07f9fc5 | 5771 | |
d2e6a577 FG |
5772 | Option("client_tick_interval", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5773 | .set_default(1.0) | |
5774 | .set_description(""), | |
c07f9fc5 | 5775 | |
d2e6a577 FG |
5776 | Option("client_trace", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5777 | .set_default("") | |
5778 | .set_description(""), | |
c07f9fc5 | 5779 | |
d2e6a577 FG |
5780 | Option("client_readahead_min", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5781 | .set_default(128*1024) | |
5782 | .set_description(""), | |
c07f9fc5 | 5783 | |
d2e6a577 FG |
5784 | Option("client_readahead_max_bytes", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5785 | .set_default(0) | |
5786 | .set_description(""), | |
c07f9fc5 | 5787 | |
d2e6a577 FG |
5788 | Option("client_readahead_max_periods", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5789 | .set_default(4) | |
5790 | .set_description(""), | |
c07f9fc5 | 5791 | |
d2e6a577 FG |
5792 | Option("client_reconnect_stale", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5793 | .set_default(false) | |
5794 | .set_description(""), | |
c07f9fc5 | 5795 | |
d2e6a577 FG |
5796 | Option("client_snapdir", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5797 | .set_default(".snap") | |
5798 | .set_description(""), | |
c07f9fc5 | 5799 | |
d2e6a577 FG |
5800 | Option("client_mountpoint", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5801 | .set_default("/") | |
5802 | .set_description(""), | |
c07f9fc5 | 5803 | |
d2e6a577 FG |
5804 | Option("client_mount_uid", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5805 | .set_default(-1) | |
5806 | .set_description(""), | |
c07f9fc5 | 5807 | |
d2e6a577 FG |
5808 | Option("client_mount_gid", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5809 | .set_default(-1) | |
5810 | .set_description(""), | |
c07f9fc5 | 5811 | |
d2e6a577 FG |
5812 | Option("client_notify_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5813 | .set_default(10) | |
5814 | .set_description(""), | |
c07f9fc5 | 5815 | |
d2e6a577 FG |
5816 | Option("osd_client_watch_timeout", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5817 | .set_default(30) | |
5818 | .set_description(""), | |
c07f9fc5 | 5819 | |
d2e6a577 FG |
5820 | Option("client_caps_release_delay", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5821 | .set_default(5) | |
5822 | .set_description(""), | |
c07f9fc5 | 5823 | |
d2e6a577 FG |
5824 | Option("client_quota_df", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5825 | .set_default(true) | |
5826 | .set_description(""), | |
c07f9fc5 | 5827 | |
d2e6a577 FG |
5828 | Option("client_oc", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5829 | .set_default(true) | |
5830 | .set_description(""), | |
c07f9fc5 | 5831 | |
d2e6a577 FG |
5832 | Option("client_oc_size", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5833 | .set_default(1024*1024* 200) | |
5834 | .set_description(""), | |
c07f9fc5 | 5835 | |
d2e6a577 FG |
5836 | Option("client_oc_max_dirty", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5837 | .set_default(1024*1024* 100) | |
5838 | .set_description(""), | |
c07f9fc5 | 5839 | |
d2e6a577 FG |
5840 | Option("client_oc_target_dirty", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5841 | .set_default(1024*1024* 8) | |
5842 | .set_description(""), | |
c07f9fc5 | 5843 | |
d2e6a577 FG |
5844 | Option("client_oc_max_dirty_age", Option::TYPE_FLOAT, Option::LEVEL_ADVANCED) |
5845 | .set_default(5.0) | |
5846 | .set_description(""), | |
c07f9fc5 | 5847 | |
d2e6a577 FG |
5848 | Option("client_oc_max_objects", Option::TYPE_INT, Option::LEVEL_ADVANCED) |
5849 | .set_default(1000) | |
5850 | .set_description(""), | |
c07f9fc5 | 5851 | |
d2e6a577 FG |
5852 | Option("client_debug_getattr_caps", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5853 | .set_default(false) | |
5854 | .set_description(""), | |
5855 | ||
5856 | Option("client_debug_force_sync_read", Option::TYPE_BOOL, Option::LEVEL_DEV) | |
5857 | .set_default(false) | |
5858 | .set_description(""), | |
c07f9fc5 | 5859 | |
d2e6a577 FG |
5860 | Option("client_debug_inject_tick_delay", Option::TYPE_INT, Option::LEVEL_DEV) |
5861 | .set_default(0) | |
5862 | .set_description(""), | |
c07f9fc5 | 5863 | |
d2e6a577 FG |
5864 | Option("client_max_inline_size", Option::TYPE_UINT, Option::LEVEL_ADVANCED) |
5865 | .set_default(4096) | |
5866 | .set_description(""), | |
c07f9fc5 | 5867 | |
d2e6a577 FG |
5868 | Option("client_inject_release_failure", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5869 | .set_default(false) | |
5870 | .set_description(""), | |
c07f9fc5 | 5871 | |
d2e6a577 FG |
5872 | Option("client_inject_fixed_oldest_tid", Option::TYPE_BOOL, Option::LEVEL_DEV) |
5873 | .set_default(false) | |
5874 | .set_description(""), | |
c07f9fc5 | 5875 | |
d2e6a577 FG |
5876 | Option("client_metadata", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5877 | .set_default("") | |
5878 | .set_description(""), | |
c07f9fc5 | 5879 | |
d2e6a577 FG |
5880 | Option("client_acl_type", Option::TYPE_STR, Option::LEVEL_ADVANCED) |
5881 | .set_default("") | |
5882 | .set_description(""), | |
c07f9fc5 | 5883 | |
d2e6a577 FG |
5884 | Option("client_permissions", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5885 | .set_default(true) | |
5886 | .set_description(""), | |
c07f9fc5 | 5887 | |
d2e6a577 FG |
5888 | Option("client_dirsize_rbytes", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5889 | .set_default(true) | |
5890 | .set_description(""), | |
c07f9fc5 | 5891 | |
d2e6a577 FG |
5892 | Option("fuse_use_invalidate_cb", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5893 | .set_default(true) | |
5894 | .set_description(""), | |
c07f9fc5 | 5895 | |
d2e6a577 FG |
5896 | Option("fuse_disable_pagecache", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5897 | .set_default(false) | |
5898 | .set_description(""), | |
c07f9fc5 | 5899 | |
d2e6a577 FG |
5900 | Option("fuse_allow_other", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5901 | .set_default(true) | |
5902 | .set_description(""), | |
c07f9fc5 | 5903 | |
d2e6a577 FG |
5904 | Option("fuse_default_permissions", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5905 | .set_default(false) | |
5906 | .set_description(""), | |
c07f9fc5 | 5907 | |
d2e6a577 FG |
5908 | Option("fuse_big_writes", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5909 | .set_default(true) | |
5910 | .set_description(""), | |
c07f9fc5 | 5911 | |
d2e6a577 FG |
5912 | Option("fuse_atomic_o_trunc", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5913 | .set_default(true) | |
5914 | .set_description(""), | |
c07f9fc5 | 5915 | |
d2e6a577 FG |
5916 | Option("fuse_debug", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5917 | .set_default(false) | |
5918 | .set_description(""), | |
c07f9fc5 | 5919 | |
d2e6a577 FG |
5920 | Option("fuse_multithreaded", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5921 | .set_default(true) | |
5922 | .set_description(""), | |
c07f9fc5 | 5923 | |
d2e6a577 FG |
5924 | Option("fuse_require_active_mds", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5925 | .set_default(true) | |
5926 | .set_description(""), | |
c07f9fc5 | 5927 | |
d2e6a577 FG |
5928 | Option("fuse_syncfs_on_mksnap", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5929 | .set_default(true) | |
5930 | .set_description(""), | |
c07f9fc5 | 5931 | |
d2e6a577 | 5932 | Option("fuse_set_user_groups", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
181888fb FG |
5933 | .set_default(true) |
5934 | .set_description("check for ceph-fuse to consider supplementary groups for permissions"), | |
c07f9fc5 | 5935 | |
d2e6a577 | 5936 | Option("client_try_dentry_invalidate", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
181888fb | 5937 | .set_default(false) |
d2e6a577 | 5938 | .set_description(""), |
c07f9fc5 | 5939 | |
d2e6a577 FG |
5940 | Option("client_die_on_failed_remount", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5941 | .set_default(true) | |
5942 | .set_description(""), | |
c07f9fc5 | 5943 | |
d2e6a577 FG |
5944 | Option("client_check_pool_perm", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) |
5945 | .set_default(true) | |
5946 | .set_description(""), | |
5947 | ||
5948 | Option("client_use_faked_inos", Option::TYPE_BOOL, Option::LEVEL_ADVANCED) | |
5949 | .set_default(false) | |
5950 | .set_description(""), | |
5951 | ||
5952 | Option("client_mds_namespace", Option::TYPE_STR, Option::LEVEL_ADVANCED) | |
5953 | .set_default("") | |
5954 | .set_description(""), | |
5955 | }); | |
5956 | } | |
c07f9fc5 FG |
5957 | |
5958 | ||
5959 | static std::vector<Option> build_options() | |
5960 | { | |
d2e6a577 | 5961 | std::vector<Option> result = get_global_options(); |
c07f9fc5 | 5962 | |
d2e6a577 | 5963 | auto ingest = [&result](std::vector<Option>&& options, const char* svc) { |
c07f9fc5 FG |
5964 | for (const auto &o_in : options) { |
5965 | Option o(o_in); | |
5966 | o.add_service(svc); | |
5967 | result.push_back(o); | |
5968 | } | |
5969 | }; | |
5970 | ||
d2e6a577 FG |
5971 | ingest(get_rgw_options(), "rgw"); |
5972 | ingest(get_rbd_options(), "rbd"); | |
181888fb | 5973 | ingest(get_rbd_mirror_options(), "rbd-mirror"); |
d2e6a577 FG |
5974 | ingest(get_mds_options(), "mds"); |
5975 | ingest(get_mds_client_options(), "mds_client"); | |
c07f9fc5 FG |
5976 | |
5977 | return result; | |
5978 | } | |
5979 | ||
5980 | const std::vector<Option> ceph_options = build_options(); |