1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
6 #include "common/Formatter.h"
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>
15 void Option::dump_value(const char *field_name
,
16 const Option::value_t
&v
, Formatter
*f
) const
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
));
32 f
->dump_stream(field_name
) << v
;
36 int Option::pre_validate(std::string
*new_value
, std::string
*err
) const
39 return validator(new_value
, err
);
45 int Option::validate(const Option::value_t
&new_value
, std::string
*err
) const
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
;
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
;
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(),
85 void Option::dump(Formatter
*f
) const
87 f
->open_object_section("option");
88 f
->dump_string("name", name
);
90 f
->dump_string("type", type_to_str(type
));
92 f
->dump_string("level", level_to_str(level
));
94 f
->dump_string("desc", desc
);
95 f
->dump_string("long_desc", long_desc
);
97 dump_value("default", value
, f
);
98 dump_value("daemon_default", daemon_value
, f
);
100 f
->open_array_section("tags");
101 for (const auto t
: tags
) {
102 f
->dump_string("tag", t
);
106 f
->open_array_section("services");
107 for (const auto s
: services
) {
108 f
->dump_string("service", s
);
112 f
->open_array_section("see_also");
113 for (const auto sa
: see_also
) {
114 f
->dump_string("see_also", sa
);
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
);
126 dump_value("min", min
, f
);
127 dump_value("max", max
, f
);
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")
141 Option("fsid", Option::TYPE_UUID
, Option::LEVEL_BASIC
)
142 .set_description("cluster fsid (uuid)")
143 .add_service("common")
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"}),
150 Option("public_bind_addr", Option::TYPE_ADDR
, Option::LEVEL_ADVANCED
)
151 .set_default(entity_addr_t())
153 .set_description(""),
155 Option("cluster_addr", Option::TYPE_ADDR
, Option::LEVEL_BASIC
)
156 .set_description("cluster-facing address to bind to")
160 Option("public_network", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
161 .add_service({"mon", "mds", "osd", "mgr"})
163 .set_description(""),
165 Option("cluster_network", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
168 .set_description(""),
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.")
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"),
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")
189 .add_see_also("mon_host"),
192 Option("lockdep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
193 .set_description("enable lockdep lock dependency analyzer")
194 .add_service("common"),
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"),
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"),
207 Option("admin_socket", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
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"),
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"),
218 Option("crushtool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
219 .set_description("name of the 'crushtool' utility")
223 Option("daemonize", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
225 .set_daemon_default(true)
226 .set_description("whether to daemonize (background) after startup")
227 .add_service({"mon", "mgr", "osd", "mds"})
229 .add_see_also({"pid_file", "chdir"}),
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"})
236 .add_see_also("setgroup"),
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"})
243 .add_see_also("setuser"),
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"})
250 .add_see_also({"setuser", "setgroup"}),
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"})
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"})
261 .add_see_also("daemonize"),
263 Option("fatal_signal_handlers", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
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"})
271 Option("restapi_log_level", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
272 .set_description("default set by python code"),
274 Option("restapi_base_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
275 .set_description("default set by python code"),
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"})
284 Option("log_file", Option::TYPE_STR
, Option::LEVEL_BASIC
)
286 .set_daemon_default("/var/log/ceph/$cluster-$name.log")
287 .set_description("path to log file")
288 .add_see_also({"log_to_stderr",
293 Option("log_max_new", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
295 .set_description("max unwritten log entries to allow before waiting to flush to the log")
296 .add_see_also("log_max_recent"),
298 Option("log_max_recent", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
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."),
304 Option("log_to_stderr", Option::TYPE_BOOL
, Option::LEVEL_BASIC
)
306 .set_daemon_default(false)
307 .set_description("send log lines to stderr"),
309 Option("err_to_stderr", Option::TYPE_BOOL
, Option::LEVEL_BASIC
)
311 .set_daemon_default(true)
312 .set_description("send critical error log lines to stderr"),
314 Option("log_to_syslog", Option::TYPE_BOOL
, Option::LEVEL_BASIC
)
316 .set_description("send log lines to syslog facility"),
318 Option("err_to_syslog", Option::TYPE_BOOL
, Option::LEVEL_BASIC
)
320 .set_description("send critical error log lines to syslog facility"),
322 Option("log_flush_on_exit", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
324 .set_description("set a process exit handler to ensure the log is flushed on exit"),
326 Option("log_stop_at_utilization", Option::TYPE_FLOAT
, Option::LEVEL_BASIC
)
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"),
332 Option("log_to_graylog", Option::TYPE_BOOL
, Option::LEVEL_BASIC
)
334 .set_description("send log lines to remote graylog server")
335 .add_see_also({"err_to_graylog",
337 "log_graylog_port"}),
339 Option("err_to_graylog", Option::TYPE_BOOL
, Option::LEVEL_BASIC
)
341 .set_description("send critical error log lines to remote graylog server")
342 .add_see_also({"log_to_graylog",
344 "log_graylog_port"}),
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",
351 "log_graylog_port"}),
353 Option("log_graylog_port", Option::TYPE_INT
, Option::LEVEL_BASIC
)
355 .set_description("port number for the remote graylog server")
356 .add_see_also("log_graylog_host"),
361 Option("clog_to_monitors", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
362 .set_default("default=true")
363 .set_description(""),
365 Option("clog_to_syslog", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
366 .set_default("false")
367 .set_description(""),
369 Option("clog_to_syslog_level", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
371 .set_description(""),
373 Option("clog_to_syslog_facility", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
374 .set_default("default=daemon audit=local0")
375 .set_description(""),
377 Option("clog_to_graylog", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
378 .set_default("false")
379 .set_description(""),
381 Option("clog_to_graylog_host", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
382 .set_default("127.0.0.1")
383 .set_description(""),
385 Option("clog_to_graylog_port", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
386 .set_default("12201")
387 .set_description(""),
389 Option("mon_cluster_log_to_syslog", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
390 .set_default("default=false")
391 .set_description(""),
393 Option("mon_cluster_log_to_syslog_level", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
395 .set_description(""),
397 Option("mon_cluster_log_to_syslog_facility", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
398 .set_default("daemon")
399 .set_description(""),
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(""),
405 Option("mon_cluster_log_file_level", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
407 .set_description(""),
409 Option("mon_cluster_log_to_graylog", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
410 .set_default("false")
411 .set_description(""),
413 Option("mon_cluster_log_to_graylog_host", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
414 .set_default("127.0.0.1")
415 .set_description(""),
417 Option("mon_cluster_log_to_graylog_port", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
418 .set_default("12201")
419 .set_description(""),
421 Option("enable_experimental_unrecoverable_data_corrupting_features", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
423 .set_description(""),
425 Option("plugin_dir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
426 .set_default(CEPH_PKGLIBDIR
)
430 Option("xio_trace_mempool", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
432 .set_description(""),
434 Option("xio_trace_msgcnt", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
436 .set_description(""),
438 Option("xio_trace_xcon", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
440 .set_description(""),
442 Option("xio_queue_depth", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
444 .set_description(""),
446 Option("xio_mp_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
448 .set_description(""),
450 Option("xio_mp_max_64", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
452 .set_description(""),
454 Option("xio_mp_max_256", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
456 .set_description(""),
458 Option("xio_mp_max_1k", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
460 .set_description(""),
462 Option("xio_mp_max_page", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
464 .set_description(""),
466 Option("xio_mp_max_hint", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
468 .set_description(""),
470 Option("xio_portal_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
472 .set_description(""),
474 Option("xio_max_conns_per_portal", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
476 .set_description(""),
478 Option("xio_transport_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
480 .set_description(""),
482 Option("xio_max_send_inline", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
484 .set_description(""),
486 Option("compressor_zlib_isal", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
488 .set_description(""),
490 Option("compressor_zlib_level", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
492 .set_description(""),
494 Option("async_compressor_enabled", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
496 .set_description(""),
498 Option("async_compressor_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
499 .set_default("snappy")
500 .set_description(""),
502 Option("async_compressor_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
504 .set_description(""),
506 Option("async_compressor_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
508 .set_description(""),
510 Option("async_compressor_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
512 .set_description(""),
514 Option("plugin_crypto_accelerator", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
515 .set_default("crypto_isal")
516 .set_description(""),
518 Option("mempool_debug", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
520 .set_description(""),
522 Option("key", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
524 .set_description(""),
526 Option("keyfile", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
528 .set_description(""),
530 Option("keyring", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
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,"
540 .set_description(""),
542 Option("heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
544 .set_description(""),
546 Option("heartbeat_file", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
548 .set_description(""),
550 Option("heartbeat_inject_failure", Option::TYPE_INT
, Option::LEVEL_DEV
)
552 .set_description(""),
554 Option("perf", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
556 .set_description(""),
558 Option("ms_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
559 .set_default("async+posix")
563 Option("ms_public_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
565 .set_description(""),
567 Option("ms_cluster_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
569 .set_description(""),
571 Option("ms_tcp_nodelay", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
573 .set_description(""),
575 Option("ms_tcp_rcvbuf", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
577 .set_description(""),
579 Option("ms_tcp_prefetch_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
581 .set_description(""),
583 Option("ms_initial_backoff", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
585 .set_description(""),
587 Option("ms_max_backoff", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
589 .set_description(""),
591 Option("ms_crc_data", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
593 .set_description(""),
595 Option("ms_crc_header", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
597 .set_description(""),
599 Option("ms_die_on_bad_msg", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
601 .set_description(""),
603 Option("ms_die_on_unhandled_msg", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
605 .set_description(""),
607 Option("ms_die_on_old_message", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
609 .set_description(""),
611 Option("ms_die_on_skipped_message", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
613 .set_description(""),
615 Option("ms_dispatch_throttle_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
616 .set_default(100 << 20)
617 .set_description(""),
619 Option("ms_bind_ipv6", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
621 .set_description(""),
623 Option("ms_bind_port_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
625 .set_description(""),
627 Option("ms_bind_port_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
629 .set_description(""),
631 Option("ms_bind_retry_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
632 #if !defined(__FreeBSD__)
635 // FreeBSD does not use SO_REAUSEADDR so allow for a bit more time per default
638 .set_description(""),
640 Option("ms_bind_retry_delay", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
641 #if !defined(__FreeBSD__)
644 // FreeBSD does not use SO_REAUSEADDR so allow for a bit more time per default
647 .set_description(""),
649 Option("ms_bind_before_connect", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
651 .set_description(""),
653 Option("ms_tcp_listen_backlog", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
655 .set_description(""),
657 Option("ms_rwthread_stack_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
658 .set_default(1024 << 10)
659 .set_description(""),
661 Option("ms_tcp_read_timeout", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
663 .set_description(""),
665 Option("ms_pq_max_tokens_per_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
666 .set_default(16777216)
667 .set_description(""),
669 Option("ms_pq_min_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
671 .set_description(""),
673 Option("ms_inject_socket_failures", Option::TYPE_UINT
, Option::LEVEL_DEV
)
675 .set_description(""),
677 Option("ms_inject_delay_type", Option::TYPE_STR
, Option::LEVEL_DEV
)
682 Option("ms_inject_delay_msg_type", Option::TYPE_STR
, Option::LEVEL_DEV
)
684 .set_description(""),
686 Option("ms_inject_delay_max", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
688 .set_description(""),
690 Option("ms_inject_delay_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
692 .set_description(""),
694 Option("ms_inject_internal_delays", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
696 .set_description(""),
698 Option("ms_dump_on_send", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
700 .set_description(""),
702 Option("ms_dump_corrupt_message_level", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
704 .set_description(""),
706 Option("ms_async_op_threads", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
708 .set_description(""),
710 Option("ms_async_max_op_threads", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
712 .set_description(""),
714 Option("ms_async_set_affinity", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
716 .set_description(""),
718 Option("ms_async_affinity_cores", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
720 .set_description(""),
722 Option("ms_async_rdma_device_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
724 .set_description(""),
726 Option("ms_async_rdma_enable_hugepage", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
728 .set_description(""),
730 Option("ms_async_rdma_buffer_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
731 .set_default(128 << 10)
732 .set_description(""),
734 Option("ms_async_rdma_send_buffers", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
736 .set_description(""),
738 Option("ms_async_rdma_receive_buffers", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
740 .set_description(""),
742 Option("ms_async_rdma_port_num", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
744 .set_description(""),
746 Option("ms_async_rdma_polling_us", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
748 .set_description(""),
750 Option("ms_async_rdma_local_gid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
752 .set_description(""),
754 Option("ms_async_rdma_roce_ver", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
756 .set_description(""),
758 Option("ms_async_rdma_sl", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
760 .set_description(""),
762 Option("ms_async_rdma_dscp", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
764 .set_description(""),
766 Option("ms_dpdk_port_id", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
768 .set_description(""),
770 Option("ms_dpdk_coremask", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
775 Option("ms_dpdk_memory_channel", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
777 .set_description(""),
779 Option("ms_dpdk_hugepages", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
781 .set_description(""),
783 Option("ms_dpdk_pmd", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
785 .set_description(""),
787 Option("ms_dpdk_host_ipv4_addr", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
792 Option("ms_dpdk_gateway_ipv4_addr", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
797 Option("ms_dpdk_netmask_ipv4_addr", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
802 Option("ms_dpdk_lro", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
804 .set_description(""),
806 Option("ms_dpdk_hw_flow_control", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
808 .set_description(""),
810 Option("ms_dpdk_hw_queue_weight", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
812 .set_description(""),
814 Option("ms_dpdk_debug_allow_loopback", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
816 .set_description(""),
818 Option("ms_dpdk_rx_buffer_count_per_core", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
820 .set_description(""),
822 Option("inject_early_sigterm", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
824 .set_description(""),
826 Option("mon_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
827 .set_default("/var/lib/ceph/mon/$cluster-$id")
828 .set_description(""),
830 Option("mon_initial_members", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
832 .set_description(""),
834 Option("mon_compact_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
836 .set_description(""),
838 Option("mon_compact_on_bootstrap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
840 .set_description(""),
842 Option("mon_compact_on_trim", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
844 .set_description(""),
846 Option("mon_osd_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
848 .set_description(""),
850 Option("mon_cpu_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
852 .set_description(""),
854 Option("mon_osd_mapping_pgs_per_chunk", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
856 .set_description(""),
858 Option("mon_osd_max_creating_pgs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
860 .set_description(""),
862 Option("mon_tick_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
864 .set_description(""),
866 Option("mon_session_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
868 .set_description(""),
870 Option("mon_subscribe_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
871 .set_default(24*3600)
872 .set_description(""),
874 Option("mon_delta_reset_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
876 .set_description(""),
878 Option("mon_osd_laggy_halflife", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
880 .set_description(""),
882 Option("mon_osd_laggy_weight", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
884 .set_description(""),
886 Option("mon_osd_laggy_max_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
888 .set_description(""),
890 Option("mon_osd_adjust_heartbeat_grace", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
892 .set_description(""),
894 Option("mon_osd_adjust_down_out_interval", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
896 .set_description(""),
898 Option("mon_osd_auto_mark_in", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
900 .set_description(""),
902 Option("mon_osd_auto_mark_auto_out_in", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
904 .set_description(""),
906 Option("mon_osd_auto_mark_new_in", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
908 .set_description(""),
910 Option("mon_osd_destroyed_out_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
912 .set_description(""),
914 Option("mon_osd_down_out_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
916 .set_description(""),
918 Option("mon_osd_down_out_subtree_limit", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
920 .set_description(""),
922 Option("mon_osd_min_up_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
924 .set_description(""),
926 Option("mon_osd_min_in_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
928 .set_description(""),
930 Option("mon_osd_warn_op_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
932 .set_description(""),
934 Option("mon_osd_err_op_age_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
936 .set_description(""),
938 Option("mon_osd_max_split_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
940 .set_description(""),
942 Option("mon_osd_allow_primary_temp", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
944 .set_description(""),
946 Option("mon_osd_allow_primary_affinity", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
948 .set_description(""),
950 Option("mon_osd_prime_pg_temp", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
952 .set_description(""),
954 Option("mon_osd_prime_pg_temp_max_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
956 .set_description(""),
958 Option("mon_osd_prime_pg_temp_max_estimate", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
960 .set_description(""),
962 Option("mon_osd_pool_ec_fast_read", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
964 .set_description(""),
966 Option("mon_stat_smooth_intervals", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
968 .set_description(""),
970 Option("mon_election_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
972 .set_description(""),
974 Option("mon_lease", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
976 .set_description(""),
978 Option("mon_lease_renew_interval_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
980 .set_description(""),
982 Option("mon_lease_ack_timeout_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
984 .set_description(""),
986 Option("mon_accept_timeout_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
988 .set_description(""),
990 Option("mon_clock_drift_allowed", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
992 .set_description(""),
994 Option("mon_clock_drift_warn_backoff", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
996 .set_description(""),
998 Option("mon_timecheck_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1000 .set_description(""),
1002 Option("mon_timecheck_skew_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1004 .set_description(""),
1006 Option("mon_pg_stuck_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1008 .set_description(""),
1010 Option("mon_pg_min_inactive", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1012 .set_description(""),
1014 Option("mon_pg_warn_min_per_osd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1016 .set_description(""),
1018 Option("mon_pg_warn_max_per_osd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1020 .set_description(""),
1022 Option("mon_pg_warn_max_object_skew", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1024 .set_description(""),
1026 Option("mon_pg_warn_min_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1028 .set_description(""),
1030 Option("mon_pg_warn_min_pool_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1032 .set_description(""),
1034 Option("mon_pg_check_down_all_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1036 .set_description(""),
1038 Option("mon_cache_target_full_warn_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1040 .set_description(""),
1042 Option("mon_osd_full_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1044 .set_description(""),
1046 Option("mon_osd_backfillfull_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1048 .set_description(""),
1050 Option("mon_osd_nearfull_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1052 .set_description(""),
1054 Option("mon_osd_initial_require_min_compat_client", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1055 .set_default("jewel")
1056 .set_description(""),
1058 Option("mon_allow_pool_delete", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1060 .set_description(""),
1062 Option("mon_fake_pool_delete", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1064 .set_description(""),
1066 Option("mon_globalid_prealloc", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1068 .set_description(""),
1070 Option("mon_osd_report_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1072 .set_description(""),
1074 Option("mon_force_standby_active", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1076 .set_description(""),
1078 Option("mon_warn_on_legacy_crush_tunables", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1080 .set_description(""),
1082 Option("mon_crush_min_required_version", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1083 .set_default("firefly")
1084 .set_description(""),
1086 Option("mon_warn_on_crush_straw_calc_version_zero", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1088 .set_description(""),
1090 Option("mon_warn_on_osd_down_out_interval_zero", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1092 .set_description(""),
1094 Option("mon_warn_on_cache_pools_without_hit_sets", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1096 .set_description(""),
1098 Option("mon_warn_on_pool_no_app", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1100 .set_description("Enable POOL_APP_NOT_ENABLED health check"),
1102 Option("mon_min_osdmap_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1104 .set_description(""),
1106 Option("mon_max_pgmap_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1108 .set_description(""),
1110 Option("mon_max_log_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1112 .set_description(""),
1114 Option("mon_max_mdsmap_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1116 .set_description(""),
1118 Option("mon_max_osd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1120 .set_description(""),
1122 Option("mon_probe_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1124 .set_description(""),
1126 Option("mon_client_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1127 .set_default(100ul << 20)
1128 .set_description(""),
1130 Option("mon_mgr_proxy_client_bytes_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1132 .set_description(""),
1134 Option("mon_log_max_summary", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1136 .set_description(""),
1138 Option("mon_daemon_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1139 .set_default(400ul << 20)
1140 .set_description(""),
1142 Option("mon_max_log_entries_per_event", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1144 .set_description(""),
1146 Option("mon_reweight_min_pgs_per_osd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1148 .set_description(""),
1150 Option("mon_reweight_min_bytes_per_osd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1151 .set_default(100*1024*1024)
1152 .set_description(""),
1154 Option("mon_reweight_max_osds", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1156 .set_description(""),
1158 Option("mon_reweight_max_change", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1160 .set_description(""),
1162 Option("mon_health_data_update_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1164 .set_description(""),
1166 Option("mon_health_to_clog", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1168 .set_description(""),
1170 Option("mon_health_to_clog_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1172 .set_description(""),
1174 Option("mon_health_to_clog_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1176 .set_description(""),
1178 Option("mon_health_preluminous_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1180 .set_description("Include health warnings in preluminous JSON fields"),
1182 Option("mon_health_preluminous_compat_warning", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1184 .set_description("Warn about the health JSON format change in preluminous JSON fields"),
1186 Option("mon_health_max_detail", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1188 .set_description(""),
1190 Option("mon_data_avail_crit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1192 .set_description(""),
1194 Option("mon_data_avail_warn", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1196 .set_description(""),
1198 Option("mon_data_size_warn", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1199 .set_default(15ull*1024*1024*1024)
1200 .set_description(""),
1202 Option("mon_warn_not_scrubbed", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1204 .set_description(""),
1206 Option("mon_warn_not_deep_scrubbed", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1208 .set_description(""),
1210 Option("mon_scrub_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1211 .set_default(3600*24)
1212 .set_description(""),
1214 Option("mon_scrub_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1216 .set_description(""),
1218 Option("mon_scrub_max_keys", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1220 .set_description(""),
1222 Option("mon_scrub_inject_crc_mismatch", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1224 .set_description(""),
1226 Option("mon_scrub_inject_missing_keys", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1228 .set_description(""),
1230 Option("mon_config_key_max_entry_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1232 .set_description(""),
1234 Option("mon_sync_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1236 .set_description(""),
1238 Option("mon_sync_max_payload_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1239 .set_default(1048576)
1240 .set_description(""),
1242 Option("mon_sync_debug", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1244 .set_description(""),
1246 Option("mon_inject_sync_get_chunk_delay", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1248 .set_description(""),
1250 Option("mon_osd_min_down_reporters", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1252 .set_description(""),
1254 Option("mon_osd_reporter_subtree_level", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1255 .set_default("host")
1256 .set_description(""),
1258 Option("mon_osd_force_trim_to", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1260 .set_description(""),
1262 Option("mon_mds_force_trim_to", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1264 .set_description(""),
1266 Option("mon_mds_skip_sanity", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1268 .set_description(""),
1270 Option("mon_debug_deprecated_as_obsolete", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1272 .set_description(""),
1274 Option("mon_debug_dump_transactions", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1276 .set_description(""),
1278 Option("mon_debug_dump_json", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1280 .set_description(""),
1282 Option("mon_debug_dump_location", Option::TYPE_STR
, Option::LEVEL_DEV
)
1283 .set_default("/var/log/ceph/$cluster-$name.tdump")
1284 .set_description(""),
1286 Option("mon_debug_no_require_luminous", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1288 .set_description(""),
1290 Option("mon_debug_no_require_bluestore_for_ec_overwrites", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1292 .set_description(""),
1294 Option("mon_debug_no_initial_persistent_features", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1296 .set_description(""),
1298 Option("mon_inject_transaction_delay_max", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1300 .set_description(""),
1302 Option("mon_inject_transaction_delay_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1304 .set_description(""),
1306 Option("mon_sync_provider_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
1308 .set_description(""),
1310 Option("mon_sync_requester_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
1312 .set_description(""),
1314 Option("mon_force_quorum_join", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1316 .set_description(""),
1318 Option("mon_keyvaluedb", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1319 .set_default("rocksdb")
1320 .set_description(""),
1322 Option("mon_debug_unsafe_allow_tier_with_nonempty_snaps", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1324 .set_description(""),
1326 Option("mon_osd_blacklist_default_expire", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1328 .set_description(""),
1330 Option("mon_osd_crush_smoke_test", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1332 .set_description(""),
1334 Option("paxos_stash_full_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1336 .set_description(""),
1338 Option("paxos_max_join_drift", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1340 .set_description(""),
1342 Option("paxos_propose_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1344 .set_description(""),
1346 Option("paxos_min_wait", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1348 .set_description(""),
1350 Option("paxos_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1352 .set_description(""),
1354 Option("paxos_trim_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1356 .set_description(""),
1358 Option("paxos_trim_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1360 .set_description(""),
1362 Option("paxos_service_trim_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1364 .set_description(""),
1366 Option("paxos_service_trim_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1368 .set_description(""),
1370 Option("paxos_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
1372 .set_description(""),
1374 Option("auth_cluster_required", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1375 .set_default("cephx")
1376 .set_description(""),
1378 Option("auth_service_required", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1379 .set_default("cephx")
1380 .set_description(""),
1382 Option("auth_client_required", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1383 .set_default("cephx, none")
1384 .set_description(""),
1386 Option("auth_supported", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1388 .set_description(""),
1390 Option("max_rotating_auth_attempts", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1392 .set_description(""),
1394 Option("cephx_require_signatures", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1396 .set_description(""),
1398 Option("cephx_cluster_require_signatures", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1400 .set_description(""),
1402 Option("cephx_service_require_signatures", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1404 .set_description(""),
1406 Option("cephx_sign_messages", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1408 .set_description(""),
1410 Option("auth_mon_ticket_ttl", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1411 .set_default(60*60*12)
1412 .set_description(""),
1414 Option("auth_service_ticket_ttl", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1416 .set_description(""),
1418 Option("auth_debug", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1420 .set_description(""),
1422 Option("mon_client_hunt_parallel", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1424 .set_description(""),
1426 Option("mon_client_hunt_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1428 .set_description(""),
1430 Option("mon_client_ping_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1432 .set_description(""),
1434 Option("mon_client_ping_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1436 .set_description(""),
1438 Option("mon_client_hunt_interval_backoff", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1440 .set_description(""),
1442 Option("mon_client_hunt_interval_min_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1444 .set_description(""),
1446 Option("mon_client_hunt_interval_max_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1448 .set_description(""),
1450 Option("mon_client_max_log_entries_per_message", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1452 .set_description(""),
1454 Option("mon_max_pool_pg_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1456 .set_description(""),
1458 Option("mon_pool_quota_warn_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1460 .set_description(""),
1462 Option("mon_pool_quota_crit_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1464 .set_description(""),
1466 Option("crush_location", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1468 .set_description(""),
1470 Option("crush_location_hook", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1472 .set_description(""),
1474 Option("crush_location_hook_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1476 .set_description(""),
1478 Option("objecter_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1480 .set_description(""),
1482 Option("objecter_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1484 .set_description(""),
1486 Option("objecter_inflight_op_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1487 .set_default(1024*1024*100)
1488 .set_description(""),
1490 Option("objecter_inflight_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1492 .set_description(""),
1494 Option("objecter_completion_locks_per_session", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1496 .set_description(""),
1498 Option("objecter_inject_no_watch_ping", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1500 .set_description(""),
1502 Option("objecter_retry_writes_after_first_reply", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1504 .set_description(""),
1506 Option("objecter_debug_inject_relock_delay", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1508 .set_description(""),
1510 Option("filer_max_purge_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1512 .set_description(""),
1514 Option("filer_max_truncate_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1516 .set_description(""),
1518 Option("journaler_write_head_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1520 .set_description(""),
1522 Option("journaler_prefetch_periods", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1524 .set_description(""),
1526 Option("journaler_prezero_periods", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1528 .set_description(""),
1530 Option("osd_check_max_object_name_len_on_startup", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1532 .set_description(""),
1534 Option("osd_max_backfills", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1536 .set_description(""),
1538 Option("osd_min_recovery_priority", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1540 .set_description(""),
1542 Option("osd_backfill_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1544 .set_description(""),
1546 Option("osd_recovery_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1548 .set_description(""),
1550 Option("osd_agent_max_ops", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1552 .set_description(""),
1554 Option("osd_agent_max_low_ops", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1556 .set_description(""),
1558 Option("osd_agent_min_evict_effort", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1560 .set_description(""),
1562 Option("osd_agent_quantize_effort", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1564 .set_description(""),
1566 Option("osd_agent_delay_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1568 .set_description(""),
1570 Option("osd_find_best_info_ignore_history_les", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1572 .set_description(""),
1574 Option("osd_agent_hist_halflife", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1576 .set_description(""),
1578 Option("osd_agent_slop", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1580 .set_description(""),
1582 Option("osd_uuid", Option::TYPE_UUID
, Option::LEVEL_ADVANCED
)
1583 .set_default(uuid_d())
1584 .set_description(""),
1586 Option("osd_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1587 .set_default("/var/lib/ceph/osd/$cluster-$id")
1588 .set_description(""),
1590 Option("osd_journal", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1591 .set_default("/var/lib/ceph/osd/$cluster-$id/journal")
1592 .set_description(""),
1594 Option("osd_journal_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1596 .set_description(""),
1598 Option("osd_journal_flush_on_shutdown", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1600 .set_description(""),
1602 Option("osd_os_flags", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1604 .set_description(""),
1606 Option("osd_max_write_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1608 .set_description(""),
1610 Option("osd_max_pgls", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1612 .set_description(""),
1614 Option("osd_client_message_size_cap", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1615 .set_default(500*1024L*1024L)
1616 .set_description(""),
1618 Option("osd_client_message_cap", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1620 .set_description(""),
1622 Option("osd_pg_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1624 .set_description(""),
1626 Option("osd_pgp_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1628 .set_description(""),
1630 Option("osd_crush_update_weight_set", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1632 .set_description(""),
1634 Option("osd_crush_chooseleaf_type", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1636 .set_description(""),
1638 Option("osd_pool_use_gmt_hitset", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1640 .set_description(""),
1642 Option("osd_crush_update_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1644 .set_description(""),
1646 Option("osd_class_update_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1648 .set_description(""),
1650 Option("osd_crush_initial_weight", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1652 .set_description(""),
1654 Option("osd_pool_default_crush_rule", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1656 .set_description(""),
1658 Option("osd_pool_erasure_code_stripe_unit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1660 .set_description(""),
1662 Option("osd_pool_default_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1664 .set_description(""),
1666 Option("osd_pool_default_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1668 .set_description(""),
1670 Option("osd_pool_default_pg_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1672 .set_description(""),
1674 Option("osd_pool_default_pgp_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1676 .set_description(""),
1678 Option("osd_pool_default_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1679 .set_default("replicated")
1680 .set_description(""),
1682 Option("osd_pool_default_erasure_code_profile", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1683 .set_default("plugin=jerasure technique=reed_sol_van k=2 m=1")
1684 .set_description(""),
1686 Option("osd_erasure_code_plugins", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1687 .set_default("jerasure lrc"
1688 #ifdef HAVE_BETTER_YASM_ELF64
1692 .set_description(""),
1694 Option("osd_allow_recovery_below_min_size", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1696 .set_description(""),
1698 Option("osd_pool_default_flags", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1700 .set_description(""),
1702 Option("osd_pool_default_flag_hashpspool", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1704 .set_description(""),
1706 Option("osd_pool_default_flag_nodelete", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1708 .set_description(""),
1710 Option("osd_pool_default_flag_nopgchange", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1712 .set_description(""),
1714 Option("osd_pool_default_flag_nosizechange", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1716 .set_description(""),
1718 Option("osd_pool_default_hit_set_bloom_fpp", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1720 .set_description(""),
1722 Option("osd_pool_default_cache_target_dirty_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1724 .set_description(""),
1726 Option("osd_pool_default_cache_target_dirty_high_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1728 .set_description(""),
1730 Option("osd_pool_default_cache_target_full_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1732 .set_description(""),
1734 Option("osd_pool_default_cache_min_flush_age", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1736 .set_description(""),
1738 Option("osd_pool_default_cache_min_evict_age", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1740 .set_description(""),
1742 Option("osd_pool_default_cache_max_evict_check_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1744 .set_description(""),
1746 Option("osd_hit_set_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1748 .set_description(""),
1750 Option("osd_hit_set_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1751 .set_default(100000)
1752 .set_description(""),
1754 Option("osd_hit_set_namespace", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1755 .set_default(".ceph-internal")
1756 .set_description(""),
1758 Option("osd_tier_promote_max_objects_sec", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1760 .set_description(""),
1762 Option("osd_tier_promote_max_bytes_sec", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1763 .set_default(5 * 1024*1024)
1764 .set_description(""),
1766 Option("osd_tier_default_cache_mode", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1767 .set_default("writeback")
1768 .set_description(""),
1770 Option("osd_tier_default_cache_hit_set_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1772 .set_description(""),
1774 Option("osd_tier_default_cache_hit_set_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1776 .set_description(""),
1778 Option("osd_tier_default_cache_hit_set_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1779 .set_default("bloom")
1780 .set_description(""),
1782 Option("osd_tier_default_cache_min_read_recency_for_promote", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1784 .set_description(""),
1786 Option("osd_tier_default_cache_min_write_recency_for_promote", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1788 .set_description(""),
1790 Option("osd_tier_default_cache_hit_set_grade_decay_rate", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1792 .set_description(""),
1794 Option("osd_tier_default_cache_hit_set_search_last_n", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1796 .set_description(""),
1798 Option("osd_map_dedup", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1800 .set_description(""),
1802 Option("osd_map_max_advance", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1804 .set_description(""),
1806 Option("osd_map_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1808 .set_description(""),
1810 Option("osd_map_message_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1812 .set_description(""),
1814 Option("osd_map_share_max_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1816 .set_description(""),
1818 Option("osd_inject_bad_map_crc_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1820 .set_description(""),
1822 Option("osd_inject_failure_on_pg_removal", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1824 .set_description(""),
1826 Option("osd_max_markdown_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1828 .set_description(""),
1830 Option("osd_max_markdown_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1832 .set_description(""),
1834 Option("osd_peering_wq_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1836 .set_description(""),
1838 Option("osd_peering_wq_batch_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1840 .set_description(""),
1842 Option("osd_op_pq_max_tokens_per_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1843 .set_default(4194304)
1844 .set_description(""),
1846 Option("osd_op_pq_min_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1848 .set_description(""),
1850 Option("osd_disk_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1852 .set_description(""),
1854 Option("osd_disk_thread_ioprio_class", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1856 .set_description(""),
1858 Option("osd_disk_thread_ioprio_priority", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1860 .set_description(""),
1862 Option("osd_recover_clone_overlap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1864 .set_description(""),
1866 Option("osd_op_num_threads_per_shard", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1868 .set_description(""),
1870 Option("osd_op_num_threads_per_shard_hdd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1872 .set_description(""),
1874 Option("osd_op_num_threads_per_shard_ssd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1876 .set_description(""),
1878 Option("osd_op_num_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1880 .set_description(""),
1882 Option("osd_op_num_shards_hdd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1884 .set_description(""),
1886 Option("osd_op_num_shards_ssd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1888 .set_description(""),
1890 Option("osd_op_queue", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1892 .set_enum_allowed( { "wpq", "prioritized", "mclock_opclass", "mclock_client", "debug_random" } )
1893 .set_description("which operation queue algorithm to use")
1894 .set_long_description("which operation queue algorithm to use; mclock_opclass and mclock_client are currently experimental")
1895 .add_see_also("osd_op_queue_cut_off"),
1897 Option("osd_op_queue_cut_off", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1899 .set_enum_allowed( { "low", "high", "debug_random" } )
1900 .set_description("the threshold between high priority ops and low priority ops")
1901 .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")
1902 .add_see_also("osd_op_queue"),
1904 Option("osd_op_queue_mclock_client_op_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1905 .set_default(1000.0)
1906 .set_description("mclock reservation of client operator requests")
1907 .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")
1908 .add_see_also("osd_op_queue")
1909 .add_see_also("osd_op_queue_mclock_client_op_wgt")
1910 .add_see_also("osd_op_queue_mclock_client_op_lim")
1911 .add_see_also("osd_op_queue_mclock_osd_subop_res")
1912 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
1913 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
1914 .add_see_also("osd_op_queue_mclock_snap_res")
1915 .add_see_also("osd_op_queue_mclock_snap_wgt")
1916 .add_see_also("osd_op_queue_mclock_snap_lim")
1917 .add_see_also("osd_op_queue_mclock_recov_res")
1918 .add_see_also("osd_op_queue_mclock_recov_wgt")
1919 .add_see_also("osd_op_queue_mclock_recov_lim")
1920 .add_see_also("osd_op_queue_mclock_scrub_res")
1921 .add_see_also("osd_op_queue_mclock_scrub_wgt")
1922 .add_see_also("osd_op_queue_mclock_scrub_lim"),
1924 Option("osd_op_queue_mclock_client_op_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1926 .set_description("mclock weight of client operator requests")
1927 .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")
1928 .add_see_also("osd_op_queue")
1929 .add_see_also("osd_op_queue_mclock_client_op_res")
1930 .add_see_also("osd_op_queue_mclock_client_op_lim")
1931 .add_see_also("osd_op_queue_mclock_osd_subop_res")
1932 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
1933 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
1934 .add_see_also("osd_op_queue_mclock_snap_res")
1935 .add_see_also("osd_op_queue_mclock_snap_wgt")
1936 .add_see_also("osd_op_queue_mclock_snap_lim")
1937 .add_see_also("osd_op_queue_mclock_recov_res")
1938 .add_see_also("osd_op_queue_mclock_recov_wgt")
1939 .add_see_also("osd_op_queue_mclock_recov_lim")
1940 .add_see_also("osd_op_queue_mclock_scrub_res")
1941 .add_see_also("osd_op_queue_mclock_scrub_wgt")
1942 .add_see_also("osd_op_queue_mclock_scrub_lim"),
1944 Option("osd_op_queue_mclock_client_op_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1946 .set_description("mclock limit of client operator requests")
1947 .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")
1948 .add_see_also("osd_op_queue")
1949 .add_see_also("osd_op_queue_mclock_client_op_res")
1950 .add_see_also("osd_op_queue_mclock_client_op_wgt")
1951 .add_see_also("osd_op_queue_mclock_osd_subop_res")
1952 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
1953 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
1954 .add_see_also("osd_op_queue_mclock_snap_res")
1955 .add_see_also("osd_op_queue_mclock_snap_wgt")
1956 .add_see_also("osd_op_queue_mclock_snap_lim")
1957 .add_see_also("osd_op_queue_mclock_recov_res")
1958 .add_see_also("osd_op_queue_mclock_recov_wgt")
1959 .add_see_also("osd_op_queue_mclock_recov_lim")
1960 .add_see_also("osd_op_queue_mclock_scrub_res")
1961 .add_see_also("osd_op_queue_mclock_scrub_wgt")
1962 .add_see_also("osd_op_queue_mclock_scrub_lim"),
1964 Option("osd_op_queue_mclock_osd_subop_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1965 .set_default(1000.0)
1966 .set_description("mclock reservation of osd sub-operation requests")
1967 .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")
1968 .add_see_also("osd_op_queue")
1969 .add_see_also("osd_op_queue_mclock_client_op_res")
1970 .add_see_also("osd_op_queue_mclock_client_op_wgt")
1971 .add_see_also("osd_op_queue_mclock_client_op_lim")
1972 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
1973 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
1974 .add_see_also("osd_op_queue_mclock_snap_res")
1975 .add_see_also("osd_op_queue_mclock_snap_wgt")
1976 .add_see_also("osd_op_queue_mclock_snap_lim")
1977 .add_see_also("osd_op_queue_mclock_recov_res")
1978 .add_see_also("osd_op_queue_mclock_recov_wgt")
1979 .add_see_also("osd_op_queue_mclock_recov_lim")
1980 .add_see_also("osd_op_queue_mclock_scrub_res")
1981 .add_see_also("osd_op_queue_mclock_scrub_wgt")
1982 .add_see_also("osd_op_queue_mclock_scrub_lim"),
1984 Option("osd_op_queue_mclock_osd_subop_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1986 .set_description("mclock weight of osd sub-operation requests")
1987 .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")
1988 .add_see_also("osd_op_queue")
1989 .add_see_also("osd_op_queue_mclock_client_op_res")
1990 .add_see_also("osd_op_queue_mclock_client_op_wgt")
1991 .add_see_also("osd_op_queue_mclock_client_op_lim")
1992 .add_see_also("osd_op_queue_mclock_osd_subop_res")
1993 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
1994 .add_see_also("osd_op_queue_mclock_snap_res")
1995 .add_see_also("osd_op_queue_mclock_snap_wgt")
1996 .add_see_also("osd_op_queue_mclock_snap_lim")
1997 .add_see_also("osd_op_queue_mclock_recov_res")
1998 .add_see_also("osd_op_queue_mclock_recov_wgt")
1999 .add_see_also("osd_op_queue_mclock_recov_lim")
2000 .add_see_also("osd_op_queue_mclock_scrub_res")
2001 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2002 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2004 Option("osd_op_queue_mclock_osd_subop_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2006 .set_description("mclock limit of osd sub-operation requests")
2007 .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")
2008 .add_see_also("osd_op_queue")
2009 .add_see_also("osd_op_queue_mclock_client_op_res")
2010 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2011 .add_see_also("osd_op_queue_mclock_client_op_lim")
2012 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2013 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2014 .add_see_also("osd_op_queue_mclock_snap_res")
2015 .add_see_also("osd_op_queue_mclock_snap_wgt")
2016 .add_see_also("osd_op_queue_mclock_snap_lim")
2017 .add_see_also("osd_op_queue_mclock_recov_res")
2018 .add_see_also("osd_op_queue_mclock_recov_wgt")
2019 .add_see_also("osd_op_queue_mclock_recov_lim")
2020 .add_see_also("osd_op_queue_mclock_scrub_res")
2021 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2022 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2024 Option("osd_op_queue_mclock_snap_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2026 .set_description("mclock reservation of snaptrim requests")
2027 .set_long_description("mclock reservation of snaptrim requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation")
2028 .add_see_also("osd_op_queue")
2029 .add_see_also("osd_op_queue_mclock_client_op_res")
2030 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2031 .add_see_also("osd_op_queue_mclock_client_op_lim")
2032 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2033 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2034 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2035 .add_see_also("osd_op_queue_mclock_snap_wgt")
2036 .add_see_also("osd_op_queue_mclock_snap_lim")
2037 .add_see_also("osd_op_queue_mclock_recov_res")
2038 .add_see_also("osd_op_queue_mclock_recov_wgt")
2039 .add_see_also("osd_op_queue_mclock_recov_lim")
2040 .add_see_also("osd_op_queue_mclock_scrub_res")
2041 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2042 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2044 Option("osd_op_queue_mclock_snap_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2046 .set_description("mclock weight of snaptrim requests")
2047 .set_long_description("mclock weight of snaptrim requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight")
2048 .add_see_also("osd_op_queue")
2049 .add_see_also("osd_op_queue_mclock_client_op_res")
2050 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2051 .add_see_also("osd_op_queue_mclock_client_op_lim")
2052 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2053 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2054 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2055 .add_see_also("osd_op_queue_mclock_snap_res")
2056 .add_see_also("osd_op_queue_mclock_snap_lim")
2057 .add_see_also("osd_op_queue_mclock_recov_res")
2058 .add_see_also("osd_op_queue_mclock_recov_wgt")
2059 .add_see_also("osd_op_queue_mclock_recov_lim")
2060 .add_see_also("osd_op_queue_mclock_scrub_res")
2061 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2062 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2064 Option("osd_op_queue_mclock_snap_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2066 .set_description("")
2067 .set_description("mclock limit of snaptrim requests")
2068 .set_long_description("mclock limit of snaptrim requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit")
2069 .add_see_also("osd_op_queue_mclock_client_op_res")
2070 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2071 .add_see_also("osd_op_queue_mclock_client_op_lim")
2072 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2073 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2074 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2075 .add_see_also("osd_op_queue_mclock_snap_res")
2076 .add_see_also("osd_op_queue_mclock_snap_wgt")
2077 .add_see_also("osd_op_queue_mclock_recov_res")
2078 .add_see_also("osd_op_queue_mclock_recov_wgt")
2079 .add_see_also("osd_op_queue_mclock_recov_lim")
2080 .add_see_also("osd_op_queue_mclock_scrub_res")
2081 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2082 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2084 Option("osd_op_queue_mclock_recov_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2086 .set_description("mclock reservation of recovery requests")
2087 .set_long_description("mclock reservation of recovery requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation")
2088 .add_see_also("osd_op_queue")
2089 .add_see_also("osd_op_queue_mclock_client_op_res")
2090 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2091 .add_see_also("osd_op_queue_mclock_client_op_lim")
2092 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2093 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2094 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2095 .add_see_also("osd_op_queue_mclock_snap_res")
2096 .add_see_also("osd_op_queue_mclock_snap_wgt")
2097 .add_see_also("osd_op_queue_mclock_snap_lim")
2098 .add_see_also("osd_op_queue_mclock_recov_wgt")
2099 .add_see_also("osd_op_queue_mclock_recov_lim")
2100 .add_see_also("osd_op_queue_mclock_scrub_res")
2101 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2102 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2104 Option("osd_op_queue_mclock_recov_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2106 .set_description("mclock weight of recovery requests")
2107 .set_long_description("mclock weight of recovery requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight")
2108 .add_see_also("osd_op_queue")
2109 .add_see_also("osd_op_queue_mclock_client_op_res")
2110 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2111 .add_see_also("osd_op_queue_mclock_client_op_lim")
2112 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2113 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2114 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2115 .add_see_also("osd_op_queue_mclock_snap_res")
2116 .add_see_also("osd_op_queue_mclock_snap_wgt")
2117 .add_see_also("osd_op_queue_mclock_snap_lim")
2118 .add_see_also("osd_op_queue_mclock_recov_res")
2119 .add_see_also("osd_op_queue_mclock_recov_lim")
2120 .add_see_also("osd_op_queue_mclock_scrub_res")
2121 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2122 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2124 Option("osd_op_queue_mclock_recov_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2126 .set_description("mclock limit of recovery requests")
2127 .set_long_description("mclock limit of recovery requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit")
2128 .add_see_also("osd_op_queue")
2129 .add_see_also("osd_op_queue_mclock_client_op_res")
2130 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2131 .add_see_also("osd_op_queue_mclock_client_op_lim")
2132 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2133 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2134 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2135 .add_see_also("osd_op_queue_mclock_snap_res")
2136 .add_see_also("osd_op_queue_mclock_snap_wgt")
2137 .add_see_also("osd_op_queue_mclock_snap_lim")
2138 .add_see_also("osd_op_queue_mclock_recov_res")
2139 .add_see_also("osd_op_queue_mclock_recov_wgt")
2140 .add_see_also("osd_op_queue_mclock_scrub_res")
2141 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2142 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2144 Option("osd_op_queue_mclock_scrub_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2146 .set_description("mclock reservation of scrub requests")
2147 .set_long_description("mclock reservation of scrub requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the reservation")
2148 .add_see_also("osd_op_queue")
2149 .add_see_also("osd_op_queue_mclock_client_op_res")
2150 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2151 .add_see_also("osd_op_queue_mclock_client_op_lim")
2152 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2153 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2154 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2155 .add_see_also("osd_op_queue_mclock_snap_res")
2156 .add_see_also("osd_op_queue_mclock_snap_wgt")
2157 .add_see_also("osd_op_queue_mclock_snap_lim")
2158 .add_see_also("osd_op_queue_mclock_recov_res")
2159 .add_see_also("osd_op_queue_mclock_recov_wgt")
2160 .add_see_also("osd_op_queue_mclock_recov_lim")
2161 .add_see_also("osd_op_queue_mclock_scrub_wgt")
2162 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2164 Option("osd_op_queue_mclock_scrub_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2166 .set_description("mclock weight of scrub requests")
2167 .set_long_description("mclock weight of scrub requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the weight")
2168 .add_see_also("osd_op_queue")
2169 .add_see_also("osd_op_queue_mclock_client_op_res")
2170 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2171 .add_see_also("osd_op_queue_mclock_client_op_lim")
2172 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2173 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2174 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2175 .add_see_also("osd_op_queue_mclock_snap_res")
2176 .add_see_also("osd_op_queue_mclock_snap_wgt")
2177 .add_see_also("osd_op_queue_mclock_snap_lim")
2178 .add_see_also("osd_op_queue_mclock_recov_res")
2179 .add_see_also("osd_op_queue_mclock_recov_wgt")
2180 .add_see_also("osd_op_queue_mclock_recov_lim")
2181 .add_see_also("osd_op_queue_mclock_scrub_res")
2182 .add_see_also("osd_op_queue_mclock_scrub_lim"),
2184 Option("osd_op_queue_mclock_scrub_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2186 .set_description("mclock weight of limit requests")
2187 .set_long_description("mclock weight of limit requests when osd_op_queue is either 'mclock_opclass' or 'mclock_client'; higher values increase the limit")
2188 .add_see_also("osd_op_queue")
2189 .add_see_also("osd_op_queue_mclock_client_op_res")
2190 .add_see_also("osd_op_queue_mclock_client_op_wgt")
2191 .add_see_also("osd_op_queue_mclock_client_op_lim")
2192 .add_see_also("osd_op_queue_mclock_osd_subop_res")
2193 .add_see_also("osd_op_queue_mclock_osd_subop_wgt")
2194 .add_see_also("osd_op_queue_mclock_osd_subop_lim")
2195 .add_see_also("osd_op_queue_mclock_snap_res")
2196 .add_see_also("osd_op_queue_mclock_snap_wgt")
2197 .add_see_also("osd_op_queue_mclock_snap_lim")
2198 .add_see_also("osd_op_queue_mclock_recov_res")
2199 .add_see_also("osd_op_queue_mclock_recov_wgt")
2200 .add_see_also("osd_op_queue_mclock_recov_lim")
2201 .add_see_also("osd_op_queue_mclock_scrub_res")
2202 .add_see_also("osd_op_queue_mclock_scrub_wgt"),
2204 Option("osd_ignore_stale_divergent_priors", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2206 .set_description(""),
2208 Option("osd_read_ec_check_for_errors", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2210 .set_description(""),
2212 Option("osd_recover_clone_overlap_limit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2214 .set_description(""),
2216 Option("osd_backfill_scan_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2218 .set_description(""),
2220 Option("osd_backfill_scan_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2222 .set_description(""),
2224 Option("osd_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2226 .set_description(""),
2228 Option("osd_op_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2230 .set_description(""),
2232 Option("osd_recovery_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2234 .set_description(""),
2236 Option("osd_recovery_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2238 .set_description(""),
2240 Option("osd_recovery_sleep", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2242 .set_description("Time in seconds to sleep before next recovery or backfill op"),
2244 Option("osd_recovery_sleep_hdd", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2246 .set_description("Time in seconds to sleep before next recovery or backfill op for HDDs"),
2248 Option("osd_recovery_sleep_ssd", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2250 .set_description("Time in seconds to sleep before next recovery or backfill op for SSDs"),
2252 Option("osd_recovery_sleep_hybrid", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2254 .set_description("Time in seconds to sleep before next recovery or backfill op when data is on HDD and journal is on SSD"),
2256 Option("osd_snap_trim_sleep", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2258 .set_description(""),
2260 Option("osd_scrub_invalid_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2262 .set_description(""),
2264 Option("osd_remove_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2266 .set_description(""),
2268 Option("osd_remove_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2269 .set_default(10*60*60)
2270 .set_description(""),
2272 Option("osd_command_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2274 .set_description(""),
2276 Option("osd_command_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2278 .set_description(""),
2280 Option("osd_heartbeat_addr", Option::TYPE_ADDR
, Option::LEVEL_ADVANCED
)
2281 .set_default(entity_addr_t())
2282 .set_description(""),
2284 Option("osd_heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2286 .set_description(""),
2288 Option("osd_heartbeat_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2290 .set_description(""),
2292 Option("osd_heartbeat_min_peers", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2294 .set_description(""),
2296 Option("osd_heartbeat_use_min_delay_socket", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2298 .set_description(""),
2300 Option("osd_heartbeat_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2302 .set_description(""),
2304 Option("osd_pg_max_concurrent_snap_trims", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2306 .set_description(""),
2308 Option("osd_max_trimming_pgs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2310 .set_description(""),
2312 Option("osd_heartbeat_min_healthy_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2314 .set_description(""),
2316 Option("osd_mon_heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2318 .set_description(""),
2320 Option("osd_mon_report_interval_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2322 .set_description(""),
2324 Option("osd_mon_report_interval_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2326 .set_description(""),
2328 Option("osd_mon_report_max_in_flight", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2330 .set_description(""),
2332 Option("osd_beacon_report_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2334 .set_description(""),
2336 Option("osd_pg_stat_report_interval_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2338 .set_description(""),
2340 Option("osd_mon_ack_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2342 .set_description(""),
2344 Option("osd_stats_ack_timeout_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2346 .set_description(""),
2348 Option("osd_stats_ack_timeout_decay", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2350 .set_description(""),
2352 Option("osd_default_data_pool_replay_window", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2354 .set_description(""),
2356 Option("osd_auto_mark_unfound_lost", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2358 .set_description(""),
2360 Option("osd_recovery_delay_start", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2362 .set_description(""),
2364 Option("osd_recovery_max_active", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2366 .set_description(""),
2368 Option("osd_recovery_max_single_start", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2370 .set_description(""),
2372 Option("osd_recovery_max_chunk", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2374 .set_description(""),
2376 Option("osd_recovery_max_omap_entries_per_chunk", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2378 .set_description(""),
2380 Option("osd_copyfrom_max_chunk", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2382 .set_description(""),
2384 Option("osd_push_per_object_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2386 .set_description(""),
2388 Option("osd_max_push_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2390 .set_description(""),
2392 Option("osd_max_push_objects", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2394 .set_description(""),
2396 Option("osd_recovery_forget_lost_objects", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2398 .set_description(""),
2400 Option("osd_max_scrubs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2402 .set_description(""),
2404 Option("osd_scrub_during_recovery", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2406 .set_description(""),
2408 Option("osd_scrub_begin_hour", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2410 .set_description(""),
2412 Option("osd_scrub_end_hour", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2414 .set_description(""),
2416 Option("osd_scrub_load_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2418 .set_description(""),
2420 Option("osd_scrub_min_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2421 .set_default(60*60*24)
2422 .set_description(""),
2424 Option("osd_scrub_max_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2425 .set_default(7*60*60*24)
2426 .set_description(""),
2428 Option("osd_scrub_interval_randomize_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2430 .set_description(""),
2432 Option("osd_scrub_backoff_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2434 .set_description(""),
2436 Option("osd_scrub_chunk_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2438 .set_description(""),
2440 Option("osd_scrub_chunk_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2442 .set_description(""),
2444 Option("osd_scrub_sleep", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2446 .set_description(""),
2448 Option("osd_scrub_auto_repair", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2450 .set_description(""),
2452 Option("osd_scrub_auto_repair_num_errors", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2454 .set_description(""),
2456 Option("osd_deep_scrub_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2457 .set_default(60*60*24*7)
2458 .set_description(""),
2460 Option("osd_deep_scrub_randomize_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2462 .set_description(""),
2464 Option("osd_deep_scrub_stride", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2465 .set_default(524288)
2466 .set_description(""),
2468 Option("osd_deep_scrub_update_digest_min_age", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2469 .set_default(2*60*60)
2470 .set_description(""),
2472 Option("osd_class_dir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2473 .set_default(CEPH_LIBDIR
"/rados-classes")
2474 .set_description(""),
2476 Option("osd_open_classes_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2478 .set_description(""),
2480 Option("osd_class_load_list", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2481 .set_default("cephfs hello journal lock log numops " "rbd refcount replica_log rgw statelog timeindex user version")
2482 .set_description(""),
2484 Option("osd_class_default_list", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2485 .set_default("cephfs hello journal lock log numops " "rbd refcount replica_log rgw statelog timeindex user version")
2486 .set_description(""),
2488 Option("osd_check_for_log_corruption", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2490 .set_description(""),
2492 Option("osd_use_stale_snap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2494 .set_description(""),
2496 Option("osd_rollback_to_cluster_snap", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2498 .set_description(""),
2500 Option("osd_default_notify_timeout", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2502 .set_description(""),
2504 Option("osd_kill_backfill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
2506 .set_description(""),
2508 Option("osd_pg_epoch_persisted_max_stale", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2510 .set_description(""),
2512 Option("osd_min_pg_log_entries", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2514 .set_description("minimum number of entries to maintain in the PG log")
2516 .add_see_also("osd_max_pg_log_entries")
2517 .add_see_also("osd_pg_log_dups_tracked"),
2519 Option("osd_max_pg_log_entries", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2521 .set_description("maximum number of entries to maintain in the PG log when degraded before we trim")
2523 .add_see_also("osd_min_pg_log_entries")
2524 .add_see_also("osd_pg_log_dups_tracked"),
2526 Option("osd_pg_log_dups_tracked", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2528 .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")
2530 .add_see_also("osd_min_pg_log_entries")
2531 .add_see_also("osd_max_pg_log_entries"),
2533 Option("osd_force_recovery_pg_log_entries_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2535 .set_description(""),
2537 Option("osd_pg_log_trim_min", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2539 .set_description(""),
2541 Option("osd_op_complaint_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2543 .set_description(""),
2545 Option("osd_command_max_records", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2547 .set_description(""),
2549 Option("osd_max_pg_blocked_by", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2551 .set_description(""),
2553 Option("osd_op_log_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2555 .set_description(""),
2557 Option("osd_verify_sparse_read_holes", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2559 .set_description(""),
2561 Option("osd_backoff_on_unfound", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2563 .set_description(""),
2565 Option("osd_backoff_on_degraded", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2567 .set_description(""),
2569 Option("osd_backoff_on_down", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2571 .set_description(""),
2573 Option("osd_backoff_on_peering", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2575 .set_description(""),
2577 Option("osd_debug_crash_on_ignored_backoff", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2579 .set_description(""),
2581 Option("osd_debug_inject_dispatch_delay_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2583 .set_description(""),
2585 Option("osd_debug_inject_dispatch_delay_duration", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2587 .set_description(""),
2589 Option("osd_debug_drop_ping_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2591 .set_description(""),
2593 Option("osd_debug_drop_ping_duration", Option::TYPE_INT
, Option::LEVEL_DEV
)
2595 .set_description(""),
2597 Option("osd_debug_op_order", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2599 .set_description(""),
2601 Option("osd_debug_verify_missing_on_start", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2603 .set_description(""),
2605 Option("osd_debug_scrub_chance_rewrite_digest", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2607 .set_description(""),
2609 Option("osd_debug_verify_snaps_on_info", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2611 .set_description(""),
2613 Option("osd_debug_verify_stray_on_activate", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2615 .set_description(""),
2617 Option("osd_debug_skip_full_check_in_backfill_reservation", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2619 .set_description(""),
2621 Option("osd_debug_reject_backfill_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2623 .set_description(""),
2625 Option("osd_debug_inject_copyfrom_error", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2627 .set_description(""),
2629 Option("osd_debug_misdirected_ops", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2631 .set_description(""),
2633 Option("osd_debug_skip_full_check_in_recovery", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2635 .set_description(""),
2637 Option("osd_debug_random_push_read_error", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2639 .set_description(""),
2641 Option("osd_debug_verify_cached_snaps", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2643 .set_description(""),
2645 Option("osd_enable_op_tracker", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2647 .set_description(""),
2649 Option("osd_num_op_tracker_shard", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2651 .set_description(""),
2653 Option("osd_op_history_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2655 .set_description(""),
2657 Option("osd_op_history_duration", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2659 .set_description(""),
2661 Option("osd_op_history_slow_op_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2663 .set_description(""),
2665 Option("osd_op_history_slow_op_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2667 .set_description(""),
2669 Option("osd_target_transaction_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2671 .set_description(""),
2673 Option("osd_failsafe_full_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2675 .set_description(""),
2677 Option("osd_fast_fail_on_connection_refused", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2679 .set_description(""),
2681 Option("osd_pg_object_context_cache_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2683 .set_description(""),
2685 Option("osd_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2687 .set_description(""),
2689 Option("osd_function_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2691 .set_description(""),
2693 Option("osd_fast_info", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2695 .set_description(""),
2697 Option("osd_debug_pg_log_writeout", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2699 .set_description(""),
2701 Option("osd_loop_before_reset_tphandle", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2703 .set_description(""),
2705 Option("threadpool_default_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2707 .set_description(""),
2709 Option("threadpool_empty_queue_max_wait", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2711 .set_description(""),
2713 Option("leveldb_log_to_ceph_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2715 .set_description(""),
2717 Option("leveldb_write_buffer_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2718 .set_default(8 *1024*1024)
2719 .set_description(""),
2721 Option("leveldb_cache_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2722 .set_default(128 *1024*1024)
2723 .set_description(""),
2725 Option("leveldb_block_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2727 .set_description(""),
2729 Option("leveldb_bloom_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2731 .set_description(""),
2733 Option("leveldb_max_open_files", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2735 .set_description(""),
2737 Option("leveldb_compression", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2739 .set_description(""),
2741 Option("leveldb_paranoid", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2743 .set_description(""),
2745 Option("leveldb_log", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2746 .set_default("/dev/null")
2747 .set_description(""),
2749 Option("leveldb_compact_on_mount", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2751 .set_description(""),
2753 Option("kinetic_host", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2755 .set_description(""),
2757 Option("kinetic_port", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2759 .set_description(""),
2761 Option("kinetic_user_id", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2763 .set_description(""),
2765 Option("kinetic_hmac_key", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2766 .set_default("asdfasdf")
2767 .set_description(""),
2769 Option("kinetic_use_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2771 .set_description(""),
2773 Option("rocksdb_separate_wal_dir", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2775 .set_description(""),
2777 Option("rocksdb_db_paths", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2779 .set_description("")
2782 Option("rocksdb_log_to_ceph_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2784 .set_description(""),
2786 Option("rocksdb_cache_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2787 .set_default(128*1024*1024)
2788 .set_description(""),
2790 Option("rocksdb_cache_row_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2792 .set_description(""),
2794 Option("rocksdb_cache_shard_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2796 .set_description(""),
2798 Option("rocksdb_cache_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2800 .set_description(""),
2802 Option("rocksdb_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2803 .set_default(4*1024)
2804 .set_description(""),
2806 Option("rocksdb_perf", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2808 .set_description(""),
2810 Option("rocksdb_collect_compaction_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2812 .set_description(""),
2814 Option("rocksdb_collect_extended_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2816 .set_description(""),
2818 Option("rocksdb_collect_memory_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2820 .set_description(""),
2822 Option("rocksdb_enable_rmrange", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2824 .set_description(""),
2826 Option("rocksdb_bloom_bits_per_key", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2828 .set_description("Number of bits per key to use for RocksDB's bloom filters.")
2829 .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."),
2831 Option("rocksdb_cache_index_and_filter_blocks", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2833 .set_description("Whether to cache indices and filters in block cache")
2834 .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."),
2836 Option("rocksdb_cache_index_and_filter_blocks_with_high_priority", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2838 .set_description("Whether to cache indices and filters in the block cache with high priority")
2839 .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."),
2841 Option("rocksdb_pin_l0_filter_and_index_blocks_in_cache", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2843 .set_description("Whether to pin Level 0 indices and bloom filters in the block cache")
2844 .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."),
2846 Option("rocksdb_index_type", Option::TYPE_STR
, Option::LEVEL_DEV
)
2847 .set_default("binary_search")
2848 .set_description("Type of index for SST files: binary_search, hash_search, two_level")
2849 .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"),
2851 Option("rocksdb_partition_filters", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2853 .set_description("(experimental) partition SST index/filters into smaller blocks")
2854 .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"),
2856 Option("rocksdb_metadata_block_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2858 .set_description("The block size for index partitions. (0 = rocksdb default)"),
2860 Option("mon_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2861 .set_default("write_buffer_size=33554432,compression=kNoCompression")
2862 .set_description(""),
2864 Option("osd_client_op_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2866 .set_description(""),
2868 Option("osd_recovery_op_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2870 .set_description(""),
2872 Option("osd_snap_trim_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2874 .set_description(""),
2876 Option("osd_snap_trim_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2878 .set_description(""),
2880 Option("osd_scrub_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2882 .set_description(""),
2884 Option("osd_scrub_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2885 .set_default(50<<20)
2886 .set_description(""),
2888 Option("osd_requested_scrub_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2890 .set_description(""),
2892 Option("osd_recovery_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2894 .set_description(""),
2896 Option("osd_recovery_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2897 .set_default(20<<20)
2898 .set_description(""),
2900 Option("osd_recovery_op_warn_multiple", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2902 .set_description(""),
2904 Option("osd_mon_shutdown_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2906 .set_description(""),
2908 Option("osd_shutdown_pgref_assert", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2910 .set_description(""),
2912 Option("osd_max_object_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2913 .set_default(128*1024L*1024L)
2914 .set_description(""),
2916 Option("osd_max_object_name_len", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2918 .set_description(""),
2920 Option("osd_max_object_namespace_len", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2922 .set_description(""),
2924 Option("osd_max_attr_name_len", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2926 .set_description(""),
2928 Option("osd_max_attr_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2930 .set_description(""),
2932 Option("osd_max_omap_entries_per_request", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2933 .set_default(131072)
2934 .set_description(""),
2936 Option("osd_max_omap_bytes_per_request", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2938 .set_description(""),
2940 Option("osd_objectstore", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2941 .set_default("filestore")
2942 .set_description(""),
2944 Option("osd_objectstore_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2946 .set_description(""),
2948 Option("osd_objectstore_fuse", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2950 .set_description(""),
2952 Option("osd_bench_small_size_max_iops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2954 .set_description(""),
2956 Option("osd_bench_large_size_max_throughput", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2957 .set_default(100 << 20)
2958 .set_description(""),
2960 Option("osd_bench_max_block_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2961 .set_default(64 << 20)
2962 .set_description(""),
2964 Option("osd_bench_duration", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2966 .set_description(""),
2968 Option("osd_blkin_trace_all", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2970 .set_description(""),
2972 Option("osdc_blkin_trace_all", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2974 .set_description(""),
2976 Option("osd_discard_disconnected_ops", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2978 .set_description(""),
2980 Option("memstore_device_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2981 .set_default(1024*1024*1024)
2982 .set_description(""),
2984 Option("memstore_page_set", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2986 .set_description(""),
2988 Option("memstore_page_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2989 .set_default(64 << 10)
2990 .set_description(""),
2992 Option("objectstore_blackhole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2994 .set_description(""),
2996 // --------------------------
2999 Option("bdev_debug_inflight_ios", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3001 .set_description(""),
3003 Option("bdev_inject_crash", Option::TYPE_INT
, Option::LEVEL_DEV
)
3005 .set_description(""),
3007 Option("bdev_inject_crash_flush_delay", Option::TYPE_INT
, Option::LEVEL_DEV
)
3009 .set_description(""),
3011 Option("bdev_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3013 .set_description(""),
3015 Option("bdev_aio_poll_ms", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3017 .set_description(""),
3019 Option("bdev_aio_max_queue_depth", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3021 .set_description(""),
3023 Option("bdev_aio_reap_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3025 .set_description(""),
3027 Option("bdev_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3029 .set_description(""),
3031 Option("bdev_debug_aio", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3033 .set_description(""),
3035 Option("bdev_debug_aio_suicide_timeout", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3037 .set_description(""),
3039 Option("bdev_nvme_unbind_from_kernel", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3041 .set_description(""),
3043 Option("bdev_nvme_retry_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3045 .set_description(""),
3047 Option("bluefs_alloc_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3048 .set_default(1048576)
3049 .set_description(""),
3051 Option("bluefs_max_prefetch", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3052 .set_default(1048576)
3053 .set_description(""),
3055 Option("bluefs_min_log_runway", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3056 .set_default(1048576)
3057 .set_description(""),
3059 Option("bluefs_max_log_runway", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3060 .set_default(4194304)
3061 .set_description(""),
3063 Option("bluefs_log_compact_min_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3065 .set_description(""),
3067 Option("bluefs_log_compact_min_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3068 .set_default(16*1048576)
3069 .set_description(""),
3071 Option("bluefs_min_flush_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3072 .set_default(524288)
3073 .set_description(""),
3075 Option("bluefs_compact_log_sync", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3077 .set_description(""),
3079 Option("bluefs_buffered_io", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3081 .set_description(""),
3083 Option("bluefs_sync_write", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3085 .set_description(""),
3087 Option("bluefs_allocator", Option::TYPE_STR
, Option::LEVEL_DEV
)
3088 .set_default("bitmap")
3089 .set_description(""),
3091 Option("bluefs_preextend_wal_files", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3093 .set_description(""),
3095 Option("bluestore_bluefs", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3098 .set_description("Use BlueFS to back rocksdb")
3099 .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."),
3101 Option("bluestore_bluefs_env_mirror", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3104 .set_description("Mirror bluefs data to file system for testing/validation"),
3106 Option("bluestore_bluefs_min", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3107 .set_default(1*1024*1024*1024)
3108 .set_description("minimum disk space allocated to BlueFS (e.g., at mkfs)"),
3110 Option("bluestore_bluefs_min_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3112 .set_description("Minimum fraction of free space devoted to BlueFS"),
3114 Option("bluestore_bluefs_max_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3116 .set_description("Maximum fraction of free storage devoted to BlueFS"),
3118 Option("bluestore_bluefs_gift_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3120 .set_description("Maximum fraction of free space to give to BlueFS at once"),
3122 Option("bluestore_bluefs_reclaim_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3124 .set_description("Maximum fraction of free space to reclaim from BlueFS at once"),
3126 Option("bluestore_bluefs_balance_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3128 .set_description("How frequently (in seconds) to balance free space between BlueFS and BlueStore"),
3130 Option("bluestore_spdk_mem", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3132 .set_description(""),
3134 Option("bluestore_spdk_coremask", Option::TYPE_STR
, Option::LEVEL_DEV
)
3136 .set_description(""),
3138 Option("bluestore_spdk_max_io_completion", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3140 .set_description(""),
3142 Option("bluestore_block_path", Option::TYPE_STR
, Option::LEVEL_DEV
)
3145 .set_description("Path to block device/file"),
3147 Option("bluestore_block_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3148 .set_default(10ull * 1024*1024*1024)
3150 .set_description("Size of file to create for backing bluestore"),
3152 Option("bluestore_block_create", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3155 .set_description("Create bluestore_block_path if it doesn't exist")
3156 .add_see_also("bluestore_block_path").add_see_also("bluestore_block_size"),
3158 Option("bluestore_block_db_path", Option::TYPE_STR
, Option::LEVEL_DEV
)
3161 .set_description("Path for db block device"),
3163 Option("bluestore_block_db_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3166 .set_description("Size of file to create for bluestore_block_db_path"),
3168 Option("bluestore_block_db_create", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3171 .set_description("Create bluestore_block_db_path if it doesn't exist")
3172 .add_see_also("bluestore_block_db_path")
3173 .add_see_also("bluestore_block_db_size"),
3175 Option("bluestore_block_wal_path", Option::TYPE_STR
, Option::LEVEL_DEV
)
3178 .set_description("Path to block device/file backing bluefs wal"),
3180 Option("bluestore_block_wal_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3181 .set_default(96 * 1024*1024)
3183 .set_description("Size of file to create for bluestore_block_wal_path"),
3185 Option("bluestore_block_wal_create", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3188 .set_description("Create bluestore_block_wal_path if it doesn't exist")
3189 .add_see_also("bluestore_block_wal_path")
3190 .add_see_also("bluestore_block_wal_size"),
3192 Option("bluestore_block_preallocate_file", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3195 .set_description("Preallocate file created via bluestore_block*_create"),
3197 Option("bluestore_csum_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3198 .set_default("crc32c")
3199 .set_enum_allowed({"none", "crc32c", "crc32c_16", "crc32c_8", "xxhash32", "xxhash64"})
3201 .set_description("Default checksum algorithm to use")
3202 .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."),
3204 Option("bluestore_csum_min_block", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3207 .set_description("Minimum block size to checksum")
3208 .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).")
3209 .add_see_also("bluestore_csum_max_block"),
3211 Option("bluestore_csum_max_block", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3212 .set_default(64*1024)
3214 .set_description("Maximum block size to checksum")
3215 .add_see_also("bluestore_csum_min_block"),
3217 Option("bluestore_min_alloc_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3220 .set_description("Minimum allocation size to allocate for an object")
3221 .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."),
3223 Option("bluestore_min_alloc_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3224 .set_default(64*1024)
3226 .set_description("Default min_alloc_size value for rotational media"),
3228 Option("bluestore_min_alloc_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3229 .set_default(16*1024)
3231 .set_description("Default min_alloc_size value for non-rotational (solid state) media"),
3233 Option("bluestore_max_alloc_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3236 .set_description("Maximum size of a single allocation (0 for no max)"),
3238 Option("bluestore_prefer_deferred_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3241 .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."),
3243 Option("bluestore_prefer_deferred_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3246 .set_description("Default bluestore_prefer_deferred_size for rotational media"),
3248 Option("bluestore_prefer_deferred_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3251 .set_description("Default bluestore_prefer_deferred_size for non-rotational (solid state) media"),
3253 Option("bluestore_compression_mode", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3254 .set_default("none")
3255 .set_enum_allowed({"none", "passive", "aggressive", "force"})
3257 .set_description("Default policy for using compression when pool does not specify")
3258 .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."),
3260 Option("bluestore_compression_algorithm", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3261 .set_default("snappy")
3262 .set_enum_allowed({"", "snappy", "zlib", "zstd", "lz4"})
3264 .set_description("Default compression algorithm to use when writing object data")
3265 .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."),
3267 Option("bluestore_compression_min_blob_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3270 .set_description("Chunks smaller than this are never compressed"),
3272 Option("bluestore_compression_min_blob_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3273 .set_default(128*1024)
3275 .set_description("Default value of bluestore_compression_min_blob_size for rotational media"),
3277 Option("bluestore_compression_min_blob_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3278 .set_default(8*1024)
3280 .set_description("Default value of bluestore_compression_min_blob_size for non-rotational (solid state) media"),
3282 Option("bluestore_compression_max_blob_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3285 .set_description("Chunks larger than this are broken into smaller chunks before being compressed"),
3287 Option("bluestore_compression_max_blob_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3288 .set_default(512*1024)
3290 .set_description("Default value of bluestore_compression_max_blob_size for rotational media"),
3292 Option("bluestore_compression_max_blob_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3293 .set_default(64*1024)
3295 .set_description("Default value of bluestore_compression_max_blob_size for non-rotational (solid state) media"),
3297 Option("bluestore_gc_enable_blob_threshold", Option::TYPE_INT
, Option::LEVEL_DEV
)
3300 .set_description(""),
3302 Option("bluestore_gc_enable_total_threshold", Option::TYPE_INT
, Option::LEVEL_DEV
)
3305 .set_description(""),
3307 Option("bluestore_max_blob_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3310 .set_description(""),
3312 Option("bluestore_max_blob_size_hdd", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3313 .set_default(512*1024)
3315 .set_description(""),
3317 Option("bluestore_max_blob_size_ssd", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3318 .set_default(64*1024)
3320 .set_description(""),
3322 Option("bluestore_compression_required_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3325 .set_description("Compression ratio required to store compressed data")
3326 .set_long_description("If we compress data and get less than this we discard the result and store the original uncompressed data."),
3328 Option("bluestore_extent_map_shard_max_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3330 .set_description("Max size (bytes) for a single extent map shard before splitting"),
3332 Option("bluestore_extent_map_shard_target_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3334 .set_description("Target size (bytes) for a single extent map shard"),
3336 Option("bluestore_extent_map_shard_min_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3338 .set_description("Min size (bytes) for a single extent map shard before merging"),
3340 Option("bluestore_extent_map_shard_target_size_slop", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3342 .set_description("Ratio above/below target for a shard when trying to align to an existing extent or blob boundary"),
3344 Option("bluestore_extent_map_inline_shard_prealloc_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3346 .set_description("Preallocated buffer for inline shards"),
3348 Option("bluestore_cache_trim_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3350 .set_description("How frequently we trim the bluestore cache"),
3352 Option("bluestore_cache_trim_max_skip_pinned", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3354 .set_description("Max pinned cache entries we consider before giving up"),
3356 Option("bluestore_cache_type", Option::TYPE_STR
, Option::LEVEL_DEV
)
3358 .set_enum_allowed({"2q", "lru"})
3359 .set_description("Cache replacement algorithm"),
3361 Option("bluestore_2q_cache_kin_ratio", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3363 .set_description("2Q paper suggests .5"),
3365 Option("bluestore_2q_cache_kout_ratio", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3367 .set_description("2Q paper suggests .5"),
3369 Option("bluestore_cache_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3371 .set_description("Cache size (in bytes) for BlueStore")
3372 .set_long_description("This includes data and metadata cached by BlueStore as well as memory devoted to rocksdb's cache(s)."),
3374 Option("bluestore_cache_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3375 .set_default(1ull*1024*1024*1024)
3376 .set_description("Default bluestore_cache_size for rotational media"),
3378 Option("bluestore_cache_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3379 .set_default(3ull*1024*1024*1024)
3380 .set_description("Default bluestore_cache_size for non-rotational (solid state) media"),
3382 Option("bluestore_cache_meta_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3384 .set_description("Ratio of bluestore cache to devote to metadata"),
3386 Option("bluestore_cache_kv_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3388 .set_description("Ratio of bluestore cache to devote to kv database (rocksdb)"),
3390 Option("bluestore_cache_kv_max", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3391 .set_default(512*1024*1024)
3392 .set_description("Max memory (bytes) to devote to kv database (rocksdb)"),
3394 Option("bluestore_kvbackend", Option::TYPE_STR
, Option::LEVEL_DEV
)
3395 .set_default("rocksdb")
3397 .set_description("Key value database to use for bluestore"),
3399 Option("bluestore_allocator", Option::TYPE_STR
, Option::LEVEL_DEV
)
3400 .set_default("bitmap")
3402 .set_description(""),
3404 Option("bluestore_freelist_blocks_per_key", Option::TYPE_INT
, Option::LEVEL_DEV
)
3406 .set_description("Block (and bits) per database key"),
3408 Option("bluestore_bitmapallocator_blocks_per_zone", Option::TYPE_INT
, Option::LEVEL_DEV
)
3410 .set_description(""),
3412 Option("bluestore_bitmapallocator_span_size", Option::TYPE_INT
, Option::LEVEL_DEV
)
3414 .set_description(""),
3416 Option("bluestore_max_deferred_txc", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3418 .set_description("Max transactions with deferred writes that can accumulate before we force flush deferred writes"),
3420 Option("bluestore_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3421 .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")
3422 .set_description("Rocksdb options"),
3424 Option("bluestore_fsck_on_mount", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3426 .set_description("Run fsck at mount"),
3428 Option("bluestore_fsck_on_mount_deep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3430 .set_description("Run deep fsck at mount"),
3432 Option("bluestore_fsck_on_umount", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3434 .set_description("Run fsck at umount"),
3436 Option("bluestore_fsck_on_umount_deep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3438 .set_description("Run deep fsck at umount"),
3440 Option("bluestore_fsck_on_mkfs", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3442 .set_description("Run fsck after mkfs"),
3444 Option("bluestore_fsck_on_mkfs_deep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3446 .set_description("Run deep fsck after mkfs"),
3448 Option("bluestore_sync_submit_transaction", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3450 .set_description("Try to submit metadata transaction to rocksdb in queuing thread context"),
3452 Option("bluestore_throttle_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3453 .set_default(64*1024*1024)
3455 .set_description("Maximum bytes in flight before we throttle IO submission"),
3457 Option("bluestore_throttle_deferred_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3458 .set_default(128*1024*1024)
3460 .set_description("Maximum bytes for deferred writes before we throttle IO submission"),
3462 Option("bluestore_throttle_cost_per_io", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3465 .set_description("Overhead added to transaction cost (in bytes) for each IO"),
3467 Option("bluestore_throttle_cost_per_io_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3468 .set_default(670000)
3470 .set_description("Default bluestore_throttle_cost_per_io for rotational media"),
3472 Option("bluestore_throttle_cost_per_io_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3475 .set_description("Default bluestore_throttle_cost_per_io for non-rotation (solid state) media"),
3478 Option("bluestore_deferred_batch_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3481 .set_description("Max number of deferred writes before we flush the deferred write queue"),
3483 Option("bluestore_deferred_batch_ops_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3486 .set_description("Default bluestore_deferred_batch_ops for rotational media"),
3488 Option("bluestore_deferred_batch_ops_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3491 .set_description("Default bluestore_deferred_batch_ops for non-rotational (solid state) media"),
3493 Option("bluestore_nid_prealloc", Option::TYPE_INT
, Option::LEVEL_DEV
)
3495 .set_description("Number of unique object ids to preallocate at a time"),
3497 Option("bluestore_blobid_prealloc", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3499 .set_description("Number of unique blob ids to preallocate at a time"),
3501 Option("bluestore_clone_cow", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3504 .set_description("Use copy-on-write when cloning objects (versus reading and rewriting them at clone time)"),
3506 Option("bluestore_default_buffered_read", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3509 .set_description("Cache read results by default (unless hinted NOCACHE or WONTNEED)"),
3511 Option("bluestore_default_buffered_write", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3514 .set_description("Cache writes by default (unless hinted NOCACHE or WONTNEED)"),
3516 Option("bluestore_debug_misc", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3518 .set_description(""),
3520 Option("bluestore_debug_no_reuse_blocks", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3522 .set_description(""),
3524 Option("bluestore_debug_small_allocations", Option::TYPE_INT
, Option::LEVEL_DEV
)
3526 .set_description(""),
3528 Option("bluestore_debug_freelist", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3530 .set_description(""),
3532 Option("bluestore_debug_prefill", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3534 .set_description("simulate fragmentation"),
3536 Option("bluestore_debug_prefragment_max", Option::TYPE_INT
, Option::LEVEL_DEV
)
3537 .set_default(1048576)
3538 .set_description(""),
3540 Option("bluestore_debug_inject_read_err", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3542 .set_description(""),
3544 Option("bluestore_debug_randomize_serial_transaction", Option::TYPE_INT
, Option::LEVEL_DEV
)
3546 .set_description(""),
3548 Option("bluestore_debug_omit_block_device_write", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3550 .set_description(""),
3552 Option("bluestore_debug_fsck_abort", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3554 .set_description(""),
3556 Option("bluestore_debug_omit_kv_commit", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3558 .set_description(""),
3560 Option("bluestore_debug_permit_any_bdev_label", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3562 .set_description(""),
3564 Option("bluestore_shard_finishers", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3566 .set_description(""),
3568 Option("bluestore_debug_random_read_err", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3570 .set_description(""),
3572 // -----------------------------------------
3575 Option("kstore_max_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3577 .set_description(""),
3579 Option("kstore_max_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3580 .set_default(64*1024*1024)
3581 .set_description(""),
3583 Option("kstore_backend", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3584 .set_default("rocksdb")
3585 .set_description(""),
3587 Option("kstore_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3588 .set_default("compression=kNoCompression")
3589 .set_description(""),
3591 Option("kstore_fsck_on_mount", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3593 .set_description(""),
3595 Option("kstore_fsck_on_mount_deep", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3597 .set_description(""),
3599 Option("kstore_nid_prealloc", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3601 .set_description(""),
3603 Option("kstore_sync_transaction", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3605 .set_description(""),
3607 Option("kstore_sync_submit_transaction", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3609 .set_description(""),
3611 Option("kstore_onode_map_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3613 .set_description(""),
3615 Option("kstore_default_stripe_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3617 .set_description(""),
3619 // ---------------------
3622 Option("filestore_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3624 .set_description(""),
3626 Option("filestore_omap_backend", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3627 .set_default("rocksdb")
3628 .set_description(""),
3630 Option("filestore_omap_backend_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3632 .set_description(""),
3634 Option("filestore_wbthrottle_enable", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3636 .set_description(""),
3638 Option("filestore_wbthrottle_btrfs_bytes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3639 .set_default(41943040)
3640 .set_description(""),
3642 Option("filestore_wbthrottle_btrfs_bytes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3643 .set_default(419430400)
3644 .set_description(""),
3646 Option("filestore_wbthrottle_btrfs_ios_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3648 .set_description(""),
3650 Option("filestore_wbthrottle_btrfs_ios_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3652 .set_description(""),
3654 Option("filestore_wbthrottle_btrfs_inodes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3656 .set_description(""),
3658 Option("filestore_wbthrottle_xfs_bytes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3659 .set_default(41943040)
3660 .set_description(""),
3662 Option("filestore_wbthrottle_xfs_bytes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3663 .set_default(419430400)
3664 .set_description(""),
3666 Option("filestore_wbthrottle_xfs_ios_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3668 .set_description(""),
3670 Option("filestore_wbthrottle_xfs_ios_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3672 .set_description(""),
3674 Option("filestore_wbthrottle_xfs_inodes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3676 .set_description(""),
3678 Option("filestore_wbthrottle_btrfs_inodes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3680 .set_description(""),
3682 Option("filestore_wbthrottle_xfs_inodes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3684 .set_description(""),
3686 Option("filestore_odsync_write", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3688 .set_description(""),
3690 Option("filestore_index_retry_probability", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3692 .set_description(""),
3694 Option("filestore_debug_inject_read_err", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3696 .set_description(""),
3698 Option("filestore_debug_random_read_err", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3700 .set_description(""),
3702 Option("filestore_debug_omap_check", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3704 .set_description(""),
3706 Option("filestore_omap_header_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3708 .set_description(""),
3710 Option("filestore_max_inline_xattr_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3712 .set_description(""),
3714 Option("filestore_max_inline_xattr_size_xfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3716 .set_description(""),
3718 Option("filestore_max_inline_xattr_size_btrfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3720 .set_description(""),
3722 Option("filestore_max_inline_xattr_size_other", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3724 .set_description(""),
3726 Option("filestore_max_inline_xattrs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3728 .set_description(""),
3730 Option("filestore_max_inline_xattrs_xfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3732 .set_description(""),
3734 Option("filestore_max_inline_xattrs_btrfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3736 .set_description(""),
3738 Option("filestore_max_inline_xattrs_other", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3740 .set_description(""),
3742 Option("filestore_max_xattr_value_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3744 .set_description(""),
3746 Option("filestore_max_xattr_value_size_xfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3747 .set_default(64<<10)
3748 .set_description(""),
3750 Option("filestore_max_xattr_value_size_btrfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3751 .set_default(64<<10)
3752 .set_description(""),
3754 Option("filestore_max_xattr_value_size_other", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3756 .set_description(""),
3758 Option("filestore_sloppy_crc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3760 .set_description(""),
3762 Option("filestore_sloppy_crc_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3764 .set_description(""),
3766 Option("filestore_max_alloc_hint_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3767 .set_default(1ULL << 20)
3768 .set_description(""),
3770 Option("filestore_max_sync_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3772 .set_description(""),
3774 Option("filestore_min_sync_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3776 .set_description(""),
3778 Option("filestore_btrfs_snap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3780 .set_description(""),
3782 Option("filestore_btrfs_clone_range", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3784 .set_description(""),
3786 Option("filestore_zfs_snap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3788 .set_description(""),
3790 Option("filestore_fsync_flushes_journal_data", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3792 .set_description(""),
3794 Option("filestore_fiemap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3796 .set_description(""),
3798 Option("filestore_punch_hole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3800 .set_description(""),
3802 Option("filestore_seek_data_hole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3804 .set_description(""),
3806 Option("filestore_splice", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3808 .set_description(""),
3810 Option("filestore_fadvise", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3812 .set_description(""),
3814 Option("filestore_collect_device_partition_information", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3816 .set_description(""),
3818 Option("filestore_xfs_extsize", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3820 .set_description(""),
3822 Option("filestore_journal_parallel", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3824 .set_description(""),
3826 Option("filestore_journal_writeahead", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3828 .set_description(""),
3830 Option("filestore_journal_trailing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3832 .set_description(""),
3834 Option("filestore_queue_max_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3836 .set_description(""),
3838 Option("filestore_queue_max_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3839 .set_default(100 << 20)
3840 .set_description(""),
3842 Option("filestore_caller_concurrency", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3844 .set_description(""),
3846 Option("filestore_expected_throughput_bytes", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3847 .set_default(200 << 20)
3848 .set_description(""),
3850 Option("filestore_expected_throughput_ops", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3852 .set_description(""),
3854 Option("filestore_queue_max_delay_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3856 .set_description(""),
3858 Option("filestore_queue_high_delay_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3860 .set_description(""),
3862 Option("filestore_queue_low_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3864 .set_description(""),
3866 Option("filestore_queue_high_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3868 .set_description(""),
3870 Option("filestore_op_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3872 .set_description(""),
3874 Option("filestore_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3876 .set_description(""),
3878 Option("filestore_op_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3880 .set_description(""),
3882 Option("filestore_commit_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3884 .set_description(""),
3886 Option("filestore_fiemap_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3888 .set_description(""),
3890 Option("filestore_merge_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3892 .set_description(""),
3894 Option("filestore_split_multiple", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3896 .set_description(""),
3898 Option("filestore_split_rand_factor", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3900 .set_description(""),
3902 Option("filestore_update_to", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3904 .set_description(""),
3906 Option("filestore_blackhole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3908 .set_description(""),
3910 Option("filestore_fd_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3912 .set_description(""),
3914 Option("filestore_fd_cache_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3916 .set_description(""),
3918 Option("filestore_ondisk_finisher_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3920 .set_description(""),
3922 Option("filestore_apply_finisher_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3924 .set_description(""),
3926 Option("filestore_dump_file", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3928 .set_description(""),
3930 Option("filestore_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
3932 .set_description(""),
3934 Option("filestore_inject_stall", Option::TYPE_INT
, Option::LEVEL_DEV
)
3936 .set_description(""),
3938 Option("filestore_fail_eio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3940 .set_description(""),
3942 Option("filestore_debug_verify_split", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3944 .set_description(""),
3946 Option("journal_dio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3948 .set_description(""),
3950 Option("journal_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3952 .set_description(""),
3954 Option("journal_force_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3956 .set_description(""),
3958 Option("journal_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3960 .set_description(""),
3962 Option("journal_max_corrupt_search", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3963 .set_default(10<<20)
3964 .set_description(""),
3966 Option("journal_block_align", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3968 .set_description(""),
3970 Option("journal_write_header_frequency", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3972 .set_description(""),
3974 Option("journal_max_write_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3975 .set_default(10 << 20)
3976 .set_description(""),
3978 Option("journal_max_write_entries", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3980 .set_description(""),
3982 Option("journal_throttle_low_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3984 .set_description(""),
3986 Option("journal_throttle_high_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3988 .set_description(""),
3990 Option("journal_throttle_high_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3992 .set_description(""),
3994 Option("journal_throttle_max_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3996 .set_description(""),
3998 Option("journal_align_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3999 .set_default(64 << 10)
4000 .set_description(""),
4002 Option("journal_replay_from", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4004 .set_description(""),
4006 Option("journal_zero_on_create", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4008 .set_description(""),
4010 Option("journal_ignore_corruption", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4012 .set_description(""),
4014 Option("journal_discard", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4016 .set_description(""),
4018 Option("fio_dir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4019 .set_default("/tmp/fio")
4020 .set_description(""),
4022 Option("rados_mon_op_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4024 .set_description(""),
4026 Option("rados_osd_op_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4028 .set_description(""),
4030 Option("rados_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4032 .set_description(""),
4034 Option("nss_db_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4036 .set_description(""),
4038 Option("mgr_module_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4039 .set_default(CEPH_PKGLIBDIR
"/mgr")
4040 .set_description(""),
4042 Option("mgr_initial_modules", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4043 .set_default("restful status")
4044 .set_description(""),
4046 Option("mgr_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4047 .set_default("/var/lib/ceph/mgr/$cluster-$id")
4048 .set_description(""),
4050 Option("mgr_tick_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4052 .set_description(""),
4054 Option("mgr_stats_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4056 .set_description(""),
4058 Option("mgr_client_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4059 .set_default(128*1048576)
4060 .set_description(""),
4062 Option("mgr_client_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4064 .set_description(""),
4066 Option("mgr_osd_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4067 .set_default(512*1048576)
4068 .set_description(""),
4070 Option("mgr_osd_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4072 .set_description(""),
4074 Option("mgr_mds_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4075 .set_default(128*1048576)
4076 .set_description(""),
4078 Option("mgr_mds_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4080 .set_description(""),
4082 Option("mgr_mon_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4083 .set_default(128*1048576)
4084 .set_description(""),
4086 Option("mgr_mon_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4088 .set_description(""),
4090 Option("mgr_connect_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4092 .set_description(""),
4094 Option("mgr_service_beacon_grace", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4096 .set_description(""),
4098 Option("mon_mgr_digest_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4100 .set_description(""),
4102 Option("mon_mgr_beacon_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4104 .set_description(""),
4106 Option("mon_mgr_inactive_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4108 .set_description(""),
4110 Option("mon_mgr_mkfs_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4112 .set_description(""),
4114 Option("mutex_perf_counter", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4116 .set_description(""),
4118 Option("throttler_perf_counter", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4120 .set_description(""),
4122 Option("event_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4124 .set_description(""),
4126 Option("internal_safe_to_start_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4128 .set_description(""),
4130 Option("debug_deliberately_leak_memory", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
4132 .set_description(""),
4136 std::vector
<Option
> get_rgw_options() {
4137 return std::vector
<Option
>({
4138 Option("rgw_acl_grants_max_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4140 .set_description(""),
4142 Option("rgw_max_chunk_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4143 .set_default(4 * 1024 * 1024)
4144 .set_description(""),
4146 Option("rgw_put_obj_min_window_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4147 .set_default(16 * 1024 * 1024)
4148 .set_description(""),
4150 Option("rgw_put_obj_max_window_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4151 .set_default(64 * 1024 * 1024)
4152 .set_description(""),
4154 Option("rgw_max_put_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4155 .set_default(5ULL*1024*1024*1024)
4156 .set_description(""),
4158 Option("rgw_max_put_param_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4159 .set_default(1 * 1024 * 1024)
4160 .set_description(""),
4162 Option("rgw_override_bucket_index_max_shards", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4164 .set_description(""),
4166 Option("rgw_bucket_index_max_aio", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4168 .set_description(""),
4170 Option("rgw_enable_quota_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4172 .set_description(""),
4174 Option("rgw_enable_gc_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4176 .set_description(""),
4178 Option("rgw_enable_lc_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4180 .set_description(""),
4182 Option("rgw_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4183 .set_default("/var/lib/ceph/radosgw/$cluster-$id")
4184 .set_description(""),
4186 Option("rgw_enable_apis", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4187 .set_default("s3, s3website, swift, swift_auth, admin")
4188 .set_description(""),
4190 Option("rgw_cache_enabled", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4192 .set_description(""),
4194 Option("rgw_cache_lru_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4196 .set_description(""),
4198 Option("rgw_socket_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4200 .set_description(""),
4202 Option("rgw_host", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4204 .set_description(""),
4206 Option("rgw_port", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4208 .set_description(""),
4210 Option("rgw_dns_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4212 .set_description(""),
4214 Option("rgw_dns_s3website_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4216 .set_description(""),
4218 Option("rgw_content_length_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4220 .set_description(""),
4222 Option("rgw_lifecycle_work_time", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4223 .set_default("00:00-06:00")
4224 .set_description(""),
4226 Option("rgw_lc_lock_max_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4228 .set_description(""),
4230 Option("rgw_lc_max_objs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4232 .set_description(""),
4234 Option("rgw_lc_debug_interval", Option::TYPE_INT
, Option::LEVEL_DEV
)
4236 .set_description(""),
4238 Option("rgw_mp_lock_max_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4240 .set_description(""),
4242 Option("rgw_script_uri", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4244 .set_description(""),
4246 Option("rgw_request_uri", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4248 .set_description(""),
4250 Option("rgw_swift_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4252 .set_description(""),
4254 Option("rgw_swift_url_prefix", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4255 .set_default("swift")
4256 .set_description(""),
4258 Option("rgw_swift_auth_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4260 .set_description(""),
4262 Option("rgw_swift_auth_entry", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4263 .set_default("auth")
4264 .set_description(""),
4266 Option("rgw_swift_tenant_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4268 .set_description(""),
4270 Option("rgw_swift_account_in_url", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4272 .set_description(""),
4274 Option("rgw_swift_enforce_content_length", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4276 .set_description(""),
4278 Option("rgw_keystone_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4280 .set_description(""),
4282 Option("rgw_keystone_admin_token", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4284 .set_description(""),
4286 Option("rgw_keystone_admin_user", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4288 .set_description(""),
4290 Option("rgw_keystone_admin_password", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4292 .set_description(""),
4294 Option("rgw_keystone_admin_tenant", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4296 .set_description(""),
4298 Option("rgw_keystone_admin_project", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4300 .set_description(""),
4302 Option("rgw_keystone_admin_domain", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4304 .set_description(""),
4306 Option("rgw_keystone_barbican_user", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4308 .set_description(""),
4310 Option("rgw_keystone_barbican_password", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4312 .set_description(""),
4314 Option("rgw_keystone_barbican_tenant", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4316 .set_description(""),
4318 Option("rgw_keystone_barbican_project", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4320 .set_description(""),
4322 Option("rgw_keystone_barbican_domain", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4324 .set_description(""),
4326 Option("rgw_keystone_api_version", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4328 .set_description(""),
4330 Option("rgw_keystone_accepted_roles", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4331 .set_default("Member, admin")
4332 .set_description(""),
4334 Option("rgw_keystone_accepted_admin_roles", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4336 .set_description(""),
4338 Option("rgw_keystone_token_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4340 .set_description(""),
4342 Option("rgw_keystone_revocation_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4343 .set_default(15 * 60)
4344 .set_description(""),
4346 Option("rgw_keystone_verify_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4348 .set_description(""),
4350 Option("rgw_keystone_implicit_tenants", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4352 .set_description(""),
4354 Option("rgw_cross_domain_policy", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4355 .set_default("<allow-access-from domain=\"*\" secure=\"false\" />")
4356 .set_description(""),
4358 Option("rgw_healthcheck_disabling_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4360 .set_description(""),
4362 Option("rgw_s3_auth_use_rados", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4364 .set_description(""),
4366 Option("rgw_s3_auth_use_keystone", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4368 .set_description(""),
4370 Option("rgw_s3_auth_aws4_force_boto2_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4372 .set_description(""),
4374 Option("rgw_barbican_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4376 .set_description(""),
4378 Option("rgw_ldap_uri", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4379 .set_default("ldaps://<ldap.your.domain>")
4380 .set_description(""),
4382 Option("rgw_ldap_binddn", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4383 .set_default("uid=admin,cn=users,dc=example,dc=com")
4384 .set_description(""),
4386 Option("rgw_ldap_searchdn", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4387 .set_default("cn=users,cn=accounts,dc=example,dc=com")
4388 .set_description(""),
4390 Option("rgw_ldap_dnattr", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4392 .set_description(""),
4394 Option("rgw_ldap_secret", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4395 .set_default("/etc/openldap/secret")
4396 .set_description(""),
4398 Option("rgw_s3_auth_use_ldap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4400 .set_description(""),
4402 Option("rgw_ldap_searchfilter", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4404 .set_description(""),
4406 Option("rgw_admin_entry", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4407 .set_default("admin")
4408 .set_description(""),
4410 Option("rgw_enforce_swift_acls", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4412 .set_description(""),
4414 Option("rgw_swift_token_expiration", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4415 .set_default(24 * 3600)
4416 .set_description(""),
4418 Option("rgw_print_continue", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4420 .set_description(""),
4422 Option("rgw_print_prohibited_content_length", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4424 .set_description(""),
4426 Option("rgw_remote_addr_param", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4427 .set_default("REMOTE_ADDR")
4428 .set_description(""),
4430 Option("rgw_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4432 .set_description(""),
4434 Option("rgw_op_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4436 .set_description(""),
4438 Option("rgw_thread_pool_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4440 .set_description(""),
4442 Option("rgw_num_control_oids", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4444 .set_description(""),
4446 Option("rgw_num_rados_handles", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4448 .set_description(""),
4450 Option("rgw_verify_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4452 .set_description(""),
4454 Option("rgw_nfs_lru_lanes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4456 .set_description(""),
4458 Option("rgw_nfs_lru_lane_hiwat", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4460 .set_description(""),
4462 Option("rgw_nfs_fhcache_partitions", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4464 .set_description(""),
4466 Option("rgw_nfs_fhcache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4468 .set_description(""),
4470 Option("rgw_nfs_namespace_expire_secs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4473 .set_description(""),
4475 Option("rgw_nfs_max_gc", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4478 .set_description(""),
4480 Option("rgw_nfs_write_completion_interval_s", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4482 .set_description(""),
4484 Option("rgw_zone", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4486 .set_description(""),
4488 Option("rgw_zone_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4489 .set_default(".rgw.root")
4490 .set_description(""),
4492 Option("rgw_default_zone_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4493 .set_default("default.zone")
4494 .set_description(""),
4496 Option("rgw_region", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4498 .set_description(""),
4500 Option("rgw_region_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4501 .set_default(".rgw.root")
4502 .set_description(""),
4504 Option("rgw_default_region_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4505 .set_default("default.region")
4506 .set_description(""),
4508 Option("rgw_zonegroup", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4510 .set_description(""),
4512 Option("rgw_zonegroup_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4513 .set_default(".rgw.root")
4514 .set_description(""),
4516 Option("rgw_default_zonegroup_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4517 .set_default("default.zonegroup")
4518 .set_description(""),
4520 Option("rgw_realm", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4522 .set_description(""),
4524 Option("rgw_realm_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4525 .set_default(".rgw.root")
4526 .set_description(""),
4528 Option("rgw_default_realm_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4529 .set_default("default.realm")
4530 .set_description(""),
4532 Option("rgw_period_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4533 .set_default(".rgw.root")
4534 .set_description(""),
4536 Option("rgw_period_latest_epoch_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4537 .set_default(".latest_epoch")
4538 .set_description(""),
4540 Option("rgw_log_nonexistent_bucket", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4542 .set_description(""),
4544 Option("rgw_log_object_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4545 .set_default("%Y-%m-%d-%H-%i-%n")
4546 .set_description(""),
4548 Option("rgw_log_object_name_utc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4550 .set_description(""),
4552 Option("rgw_usage_max_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4554 .set_description(""),
4556 Option("rgw_usage_max_user_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4559 .set_description(""),
4561 Option("rgw_enable_ops_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4563 .set_description(""),
4565 Option("rgw_enable_usage_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4567 .set_description(""),
4569 Option("rgw_ops_log_rados", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4571 .set_description(""),
4573 Option("rgw_ops_log_socket_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4575 .set_description(""),
4577 Option("rgw_ops_log_data_backlog", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4578 .set_default(5 << 20)
4579 .set_description(""),
4581 Option("rgw_fcgi_socket_backlog", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4583 .set_description(""),
4585 Option("rgw_usage_log_flush_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4587 .set_description(""),
4589 Option("rgw_usage_log_tick_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4591 .set_description(""),
4593 Option("rgw_intent_log_object_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4594 .set_default("%Y-%m-%d-%i-%n")
4595 .set_description(""),
4597 Option("rgw_intent_log_object_name_utc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4599 .set_description(""),
4601 Option("rgw_init_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4603 .set_description(""),
4605 Option("rgw_mime_types_file", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4606 .set_default("/etc/mime.types")
4607 .set_description(""),
4609 Option("rgw_gc_max_objs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4611 .set_description(""),
4613 Option("rgw_gc_obj_min_wait", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4614 .set_default(2 * 3600)
4615 .set_description(""),
4617 Option("rgw_gc_processor_max_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4619 .set_description(""),
4621 Option("rgw_gc_processor_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4623 .set_description(""),
4625 Option("rgw_s3_success_create_obj_status", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4627 .set_description(""),
4629 Option("rgw_resolve_cname", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4631 .set_description(""),
4633 Option("rgw_obj_stripe_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4634 .set_default(4 << 20)
4635 .set_description(""),
4637 Option("rgw_extended_http_attrs", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4639 .set_description(""),
4641 Option("rgw_exit_timeout_secs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4643 .set_description(""),
4645 Option("rgw_get_obj_window_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4646 .set_default(16 << 20)
4647 .set_description(""),
4649 Option("rgw_get_obj_max_req_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4650 .set_default(4 << 20)
4651 .set_description(""),
4653 Option("rgw_relaxed_s3_bucket_names", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4655 .set_description(""),
4657 Option("rgw_defer_to_bucket_acls", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4659 .set_description(""),
4661 Option("rgw_list_buckets_max_chunk", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4663 .set_description(""),
4665 Option("rgw_md_log_max_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4667 .set_description(""),
4669 Option("rgw_num_zone_opstate_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4671 .set_description(""),
4673 Option("rgw_opstate_ratelimit_sec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4675 .set_description(""),
4677 Option("rgw_curl_wait_timeout_ms", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4679 .set_description(""),
4681 Option("rgw_copy_obj_progress", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4683 .set_description(""),
4685 Option("rgw_copy_obj_progress_every_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4686 .set_default(1024 * 1024)
4687 .set_description(""),
4689 Option("rgw_obj_tombstone_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4691 .set_description(""),
4693 Option("rgw_data_log_window", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4695 .set_description(""),
4697 Option("rgw_data_log_changes_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4699 .set_description(""),
4701 Option("rgw_data_log_num_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4703 .set_description(""),
4705 Option("rgw_data_log_obj_prefix", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4706 .set_default("data_log")
4707 .set_description(""),
4709 Option("rgw_replica_log_obj_prefix", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4710 .set_default("replica_log")
4711 .set_description(""),
4713 Option("rgw_bucket_quota_ttl", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4715 .set_description(""),
4717 Option("rgw_bucket_quota_soft_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4719 .set_description(""),
4721 Option("rgw_bucket_quota_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4723 .set_description(""),
4725 Option("rgw_bucket_default_quota_max_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4727 .set_description(""),
4729 Option("rgw_bucket_default_quota_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4731 .set_description(""),
4733 Option("rgw_expose_bucket", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4735 .set_description(""),
4737 Option("rgw_frontends", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4738 .set_default("civetweb port=7480")
4739 .set_description(""),
4741 Option("rgw_user_quota_bucket_sync_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4743 .set_description(""),
4745 Option("rgw_user_quota_sync_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4746 .set_default(3600 * 24)
4747 .set_description(""),
4749 Option("rgw_user_quota_sync_idle_users", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4751 .set_description(""),
4753 Option("rgw_user_quota_sync_wait_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4754 .set_default(3600 * 24)
4755 .set_description(""),
4757 Option("rgw_user_default_quota_max_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4759 .set_description(""),
4761 Option("rgw_user_default_quota_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4763 .set_description(""),
4765 Option("rgw_multipart_min_part_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4766 .set_default(5 * 1024 * 1024)
4767 .set_description(""),
4769 Option("rgw_multipart_part_upload_limit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4771 .set_description(""),
4773 Option("rgw_max_slo_entries", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4775 .set_description(""),
4777 Option("rgw_olh_pending_timeout_sec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4779 .set_description(""),
4781 Option("rgw_user_max_buckets", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4783 .set_description(""),
4785 Option("rgw_objexp_gc_interval", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4786 .set_default(60 * 10)
4787 .set_description(""),
4789 Option("rgw_objexp_time_step", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4791 .set_description(""),
4793 Option("rgw_objexp_hints_num_shards", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4795 .set_description(""),
4797 Option("rgw_objexp_chunk_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4799 .set_description(""),
4801 Option("rgw_enable_static_website", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4803 .set_description(""),
4805 Option("rgw_log_http_headers", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4807 .set_description(""),
4809 Option("rgw_num_async_rados_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4811 .set_description(""),
4813 Option("rgw_md_notify_interval_msec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4815 .set_description(""),
4817 Option("rgw_run_sync_thread", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4819 .set_description(""),
4821 Option("rgw_sync_lease_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4823 .set_description(""),
4825 Option("rgw_sync_log_trim_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4827 .set_description(""),
4829 Option("rgw_sync_data_inject_err_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
4831 .set_description(""),
4833 Option("rgw_sync_meta_inject_err_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
4835 .set_description(""),
4837 Option("rgw_period_push_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4839 .set_description(""),
4841 Option("rgw_period_push_interval_max", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4843 .set_description(""),
4845 Option("rgw_safe_max_objects_per_shard", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4846 .set_default(100*1024)
4847 .set_description(""),
4849 Option("rgw_shard_warning_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4851 .set_description(""),
4853 Option("rgw_swift_versioning_enabled", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4855 .set_description(""),
4857 Option("rgw_swift_custom_header", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4859 .set_description(""),
4861 Option("rgw_swift_need_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4863 .set_description(""),
4865 Option("rgw_reshard_num_logs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4867 .set_description(""),
4869 Option("rgw_reshard_bucket_lock_duration", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4871 .set_description(""),
4873 Option("rgw_crypt_require_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4875 .set_description(""),
4877 Option("rgw_crypt_default_encryption_key", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4879 .set_description(""),
4881 Option("rgw_crypt_s3_kms_encryption_keys", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4883 .set_description(""),
4885 Option("rgw_crypt_suppress_logs", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4887 .set_description(""),
4889 Option("rgw_list_bucket_min_readahead", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4891 .set_description(""),
4893 Option("rgw_rest_getusage_op_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4895 .set_description(""),
4897 Option("rgw_torrent_flag", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4899 .set_description(""),
4901 Option("rgw_torrent_tracker", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4903 .set_description(""),
4905 Option("rgw_torrent_createby", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4907 .set_description(""),
4909 Option("rgw_torrent_comment", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4911 .set_description(""),
4913 Option("rgw_torrent_encoding", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4915 .set_description(""),
4917 Option("rgw_data_notify_interval_msec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4919 .set_description("data changes notification interval to followers"),
4921 Option("rgw_torrent_origin", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4923 .set_description(""),
4925 Option("rgw_torrent_sha_unit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4926 .set_default(512*1024)
4927 .set_description(""),
4929 Option("rgw_dynamic_resharding", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4931 .set_description(""),
4933 Option("rgw_max_objs_per_shard", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4934 .set_default(100000)
4935 .set_description(""),
4937 Option("rgw_reshard_thread_interval", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4938 .set_default(60 * 10)
4939 .set_description(""),
4943 static std::vector
<Option
> get_rbd_options() {
4944 return std::vector
<Option
>({
4945 Option("rbd_default_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4947 .set_description("")
4948 .set_validator([](std::string
*value
, std::string
*error_message
){
4949 boost::regex
pattern("^[^@/]+$");
4950 if (!boost::regex_match (*value
, pattern
)) {
4952 *error_message
= "invalid RBD default pool, resetting to 'rbd'";
4957 Option("rbd_default_data_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4959 .set_description("")
4960 .set_validator([](std::string
*value
, std::string
*error_message
){
4961 boost::regex
pattern("^[^@/]*$");
4962 if (!boost::regex_match (*value
, pattern
)) {
4964 *error_message
= "ignoring invalid RBD data pool";
4969 Option("rbd_default_features", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4970 .set_default("layering,exclusive-lock,object-map,fast-diff,deep-flatten")
4971 .set_description("")
4973 .set_validator([](std::string
*value
, std::string
*error_message
){
4974 static const std::map
<std::string
, uint64_t> FEATURE_MAP
= {
4975 {RBD_FEATURE_NAME_LAYERING
, RBD_FEATURE_LAYERING
},
4976 {RBD_FEATURE_NAME_STRIPINGV2
, RBD_FEATURE_STRIPINGV2
},
4977 {RBD_FEATURE_NAME_EXCLUSIVE_LOCK
, RBD_FEATURE_EXCLUSIVE_LOCK
},
4978 {RBD_FEATURE_NAME_OBJECT_MAP
, RBD_FEATURE_OBJECT_MAP
},
4979 {RBD_FEATURE_NAME_FAST_DIFF
, RBD_FEATURE_FAST_DIFF
},
4980 {RBD_FEATURE_NAME_DEEP_FLATTEN
, RBD_FEATURE_DEEP_FLATTEN
},
4981 {RBD_FEATURE_NAME_JOURNALING
, RBD_FEATURE_JOURNALING
},
4982 {RBD_FEATURE_NAME_DATA_POOL
, RBD_FEATURE_DATA_POOL
},
4984 static_assert((RBD_FEATURE_DATA_POOL
<< 1) > RBD_FEATURES_ALL
,
4985 "new RBD feature added");
4987 // convert user-friendly comma delimited feature name list to a bitmask
4988 // that is used by the librbd API
4989 uint64_t features
= 0;
4990 error_message
->clear();
4993 features
= boost::lexical_cast
<decltype(features
)>(*value
);
4995 uint64_t unsupported_features
= (features
& ~RBD_FEATURES_ALL
);
4996 if (unsupported_features
!= 0ull) {
4997 features
&= RBD_FEATURES_ALL
;
4999 std::stringstream ss
;
5000 ss
<< "ignoring unknown feature mask 0x"
5001 << std::hex
<< unsupported_features
;
5002 *error_message
= ss
.str();
5004 } catch (const boost::bad_lexical_cast
& ) {
5006 std::vector
<std::string
> feature_names
;
5007 boost::split(feature_names
, *value
, boost::is_any_of(","));
5008 for (auto feature_name
: feature_names
) {
5009 boost::trim(feature_name
);
5010 auto feature_it
= FEATURE_MAP
.find(feature_name
);
5011 if (feature_it
!= FEATURE_MAP
.end()) {
5012 features
+= feature_it
->second
;
5014 if (!error_message
->empty()) {
5015 *error_message
+= ", ";
5017 *error_message
+= "ignoring unknown feature " + feature_name
;
5022 if (features
== 0 && r
== -EINVAL
) {
5023 features
= RBD_FEATURES_DEFAULT
;
5026 *value
= stringify(features
);
5030 Option("rbd_op_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5032 .set_description(""),
5034 Option("rbd_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5036 .set_description(""),
5038 Option("rbd_non_blocking_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5040 .set_description(""),
5042 Option("rbd_cache", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5044 .set_description(""),
5046 Option("rbd_cache_writethrough_until_flush", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5048 .set_description(""),
5050 Option("rbd_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5051 .set_default(32<<20)
5052 .set_description(""),
5054 Option("rbd_cache_max_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5055 .set_default(24<<20)
5056 .set_description(""),
5058 Option("rbd_cache_target_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5059 .set_default(16<<20)
5060 .set_description(""),
5062 Option("rbd_cache_max_dirty_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5064 .set_description(""),
5066 Option("rbd_cache_max_dirty_object", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5068 .set_description(""),
5070 Option("rbd_cache_block_writes_upfront", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5072 .set_description(""),
5074 Option("rbd_concurrent_management_ops", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5077 .set_description(""),
5079 Option("rbd_balance_snap_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5081 .set_description(""),
5083 Option("rbd_localize_snap_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5085 .set_description(""),
5087 Option("rbd_balance_parent_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5089 .set_description(""),
5091 Option("rbd_localize_parent_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5093 .set_description(""),
5095 Option("rbd_readahead_trigger_requests", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5097 .set_description(""),
5099 Option("rbd_readahead_max_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5100 .set_default(512 * 1024)
5101 .set_description(""),
5103 Option("rbd_readahead_disable_after_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5104 .set_default(50 * 1024 * 1024)
5105 .set_description(""),
5107 Option("rbd_clone_copy_on_read", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5109 .set_description(""),
5111 Option("rbd_blacklist_on_break_lock", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5113 .set_description(""),
5115 Option("rbd_blacklist_expire_seconds", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5117 .set_description(""),
5119 Option("rbd_request_timed_out_seconds", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5121 .set_description(""),
5123 Option("rbd_skip_partial_discard", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5125 .set_description(""),
5127 Option("rbd_enable_alloc_hint", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5129 .set_description(""),
5131 Option("rbd_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5133 .set_description(""),
5135 Option("rbd_blkin_trace_all", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5137 .set_description(""),
5139 Option("rbd_validate_pool", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5141 .set_description(""),
5143 Option("rbd_validate_names", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5145 .set_description(""),
5147 Option("rbd_auto_exclusive_lock_until_manual_request", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5149 .set_description(""),
5151 Option("rbd_mirroring_resync_after_disconnect", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5153 .set_description(""),
5155 Option("rbd_mirroring_replay_delay", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5157 .set_description(""),
5159 Option("rbd_default_format", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5161 .set_description(""),
5163 Option("rbd_default_order", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5165 .set_description(""),
5167 Option("rbd_default_stripe_count", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5169 .set_description(""),
5171 Option("rbd_default_stripe_unit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5173 .set_description(""),
5175 Option("rbd_default_map_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5177 .set_description(""),
5179 Option("rbd_journal_order", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5181 .set_description(""),
5183 Option("rbd_journal_splay_width", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5185 .set_description(""),
5187 Option("rbd_journal_commit_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5189 .set_description(""),
5191 Option("rbd_journal_object_flush_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5193 .set_description(""),
5195 Option("rbd_journal_object_flush_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5197 .set_description(""),
5199 Option("rbd_journal_object_flush_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5201 .set_description(""),
5203 Option("rbd_journal_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5205 .set_description(""),
5207 Option("rbd_journal_max_payload_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5209 .set_description(""),
5211 Option("rbd_journal_max_concurrent_object_sets", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5213 .set_description(""),
5215 Option("rbd_mirror_journal_commit_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5217 .set_description(""),
5219 Option("rbd_mirror_journal_poll_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5221 .set_description(""),
5223 Option("rbd_mirror_journal_max_fetch_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5225 .set_description(""),
5227 Option("rbd_mirror_sync_point_update_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5229 .set_description(""),
5231 Option("rbd_mirror_concurrent_image_syncs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5233 .set_description(""),
5235 Option("rbd_mirror_pool_replayers_refresh_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5237 .set_description(""),
5239 Option("rbd_mirror_delete_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5241 .set_description(""),
5243 Option("rbd_mirror_image_state_check_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5246 .set_description(""),
5248 Option("rbd_mirror_leader_heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5251 .set_description(""),
5253 Option("rbd_mirror_leader_max_missed_heartbeats", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5255 .set_description(""),
5257 Option("rbd_mirror_leader_max_acquire_attempts_before_break", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5259 .set_description(""),
5263 std::vector
<Option
> get_mds_options() {
5264 return std::vector
<Option
>({
5265 Option("mds_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5266 .set_default("/var/lib/ceph/mds/$cluster-$id")
5267 .set_description(""),
5269 Option("mds_max_file_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5270 .set_default(1ULL << 40)
5271 .set_description(""),
5273 Option("mds_max_xattr_pairs_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5274 .set_default(64 << 10)
5275 .set_description(""),
5277 Option("mds_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5278 .set_default(100000)
5279 .set_description(""),
5281 Option("mds_cache_mid", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5283 .set_description(""),
5285 Option("mds_max_file_recover", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5287 .set_description(""),
5289 Option("mds_dir_max_commit_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5291 .set_description(""),
5293 Option("mds_dir_keys_per_op", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5295 .set_description(""),
5297 Option("mds_decay_halflife", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5299 .set_description(""),
5301 Option("mds_beacon_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5303 .set_description(""),
5305 Option("mds_beacon_grace", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5307 .set_description(""),
5309 Option("mds_enforce_unique_name", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5311 .set_description(""),
5313 Option("mds_blacklist_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5314 .set_default(24.0*60.0)
5315 .set_description(""),
5317 Option("mds_session_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5319 .set_description(""),
5321 Option("mds_session_blacklist_on_timeout", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5323 .set_description(""),
5325 Option("mds_session_blacklist_on_evict", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5327 .set_description(""),
5329 Option("mds_sessionmap_keys_per_op", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5331 .set_description(""),
5333 Option("mds_revoke_cap_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5335 .set_description(""),
5337 Option("mds_recall_state_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5339 .set_description(""),
5341 Option("mds_freeze_tree_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5343 .set_description(""),
5345 Option("mds_session_autoclose", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5347 .set_description(""),
5349 Option("mds_health_summarize_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5351 .set_description(""),
5353 Option("mds_health_cache_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5355 .set_description(""),
5357 Option("mds_reconnect_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5359 .set_description(""),
5361 Option("mds_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5363 .set_description(""),
5365 Option("mds_dirstat_min_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5367 .set_description(""),
5369 Option("mds_scatter_nudge_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5371 .set_description(""),
5373 Option("mds_client_prealloc_inos", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5375 .set_description(""),
5377 Option("mds_early_reply", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5379 .set_description(""),
5381 Option("mds_default_dir_hash", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5382 .set_default(CEPH_STR_HASH_RJENKINS
)
5383 .set_description(""),
5385 Option("mds_log_pause", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5387 .set_description(""),
5389 Option("mds_log_skip_corrupt_events", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5391 .set_description(""),
5393 Option("mds_log_max_events", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5395 .set_description(""),
5397 Option("mds_log_events_per_segment", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5399 .set_description(""),
5401 Option("mds_log_segment_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5403 .set_description(""),
5405 Option("mds_log_max_segments", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5407 .set_description(""),
5409 Option("mds_log_max_expiring", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5411 .set_description(""),
5413 Option("mds_bal_export_pin", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5415 .set_description(""),
5417 Option("mds_bal_sample_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5419 .set_description(""),
5421 Option("mds_bal_replicate_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5423 .set_description(""),
5425 Option("mds_bal_unreplicate_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5427 .set_description(""),
5429 Option("mds_bal_frag", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5431 .set_description(""),
5433 Option("mds_bal_split_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5435 .set_description(""),
5437 Option("mds_bal_split_rd", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5439 .set_description(""),
5441 Option("mds_bal_split_wr", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5443 .set_description(""),
5445 Option("mds_bal_split_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5447 .set_description(""),
5449 Option("mds_bal_merge_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5451 .set_description(""),
5453 Option("mds_bal_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5455 .set_description(""),
5457 Option("mds_bal_fragment_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5459 .set_description(""),
5461 Option("mds_bal_fragment_size_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5462 .set_default(10000*10)
5463 .set_description(""),
5465 Option("mds_bal_fragment_fast_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5467 .set_description(""),
5469 Option("mds_bal_idle_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5471 .set_description(""),
5473 Option("mds_bal_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5475 .set_description(""),
5477 Option("mds_bal_max_until", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5479 .set_description(""),
5481 Option("mds_bal_mode", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5483 .set_description(""),
5485 Option("mds_bal_min_rebalance", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5487 .set_description(""),
5489 Option("mds_bal_min_start", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5491 .set_description(""),
5493 Option("mds_bal_need_min", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5495 .set_description(""),
5497 Option("mds_bal_need_max", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5499 .set_description(""),
5501 Option("mds_bal_midchunk", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5503 .set_description(""),
5505 Option("mds_bal_minchunk", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5507 .set_description(""),
5509 Option("mds_bal_target_decay", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5511 .set_description(""),
5513 Option("mds_replay_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5515 .set_description(""),
5517 Option("mds_shutdown_check", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5519 .set_description(""),
5521 Option("mds_thrash_exports", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5523 .set_description(""),
5525 Option("mds_thrash_fragments", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5527 .set_description(""),
5529 Option("mds_dump_cache_on_map", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5531 .set_description(""),
5533 Option("mds_dump_cache_after_rejoin", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5535 .set_description(""),
5537 Option("mds_verify_scatter", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5539 .set_description(""),
5541 Option("mds_debug_scatterstat", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5543 .set_description(""),
5545 Option("mds_debug_frag", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5547 .set_description(""),
5549 Option("mds_debug_auth_pins", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5551 .set_description(""),
5553 Option("mds_debug_subtrees", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5555 .set_description(""),
5557 Option("mds_kill_mdstable_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5559 .set_description(""),
5561 Option("mds_kill_export_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5563 .set_description(""),
5565 Option("mds_kill_import_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5567 .set_description(""),
5569 Option("mds_kill_link_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5571 .set_description(""),
5573 Option("mds_kill_rename_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5575 .set_description(""),
5577 Option("mds_kill_openc_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5579 .set_description(""),
5581 Option("mds_kill_journal_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5583 .set_description(""),
5585 Option("mds_kill_journal_expire_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5587 .set_description(""),
5589 Option("mds_kill_journal_replay_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5591 .set_description(""),
5593 Option("mds_journal_format", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5595 .set_description(""),
5597 Option("mds_kill_create_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5599 .set_description(""),
5601 Option("mds_inject_traceless_reply_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
5603 .set_description(""),
5605 Option("mds_wipe_sessions", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5607 .set_description(""),
5609 Option("mds_wipe_ino_prealloc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5611 .set_description(""),
5613 Option("mds_skip_ino", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5615 .set_description(""),
5617 Option("mds_standby_for_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5619 .set_description(""),
5621 Option("mds_standby_for_rank", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5623 .set_description(""),
5625 Option("mds_standby_for_fscid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5627 .set_description(""),
5629 Option("mds_standby_replay", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5631 .set_description(""),
5633 Option("mds_enable_op_tracker", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5635 .set_description(""),
5637 Option("mds_op_history_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5639 .set_description(""),
5641 Option("mds_op_history_duration", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5643 .set_description(""),
5645 Option("mds_op_complaint_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5647 .set_description(""),
5649 Option("mds_op_log_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5651 .set_description(""),
5653 Option("mds_snap_min_uid", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5655 .set_description(""),
5657 Option("mds_snap_max_uid", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5658 .set_default(4294967294)
5659 .set_description(""),
5661 Option("mds_snap_rstat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5663 .set_description(""),
5665 Option("mds_verify_backtrace", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5667 .set_description(""),
5669 Option("mds_max_completed_flushes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5670 .set_default(100000)
5671 .set_description(""),
5673 Option("mds_max_completed_requests", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5674 .set_default(100000)
5675 .set_description(""),
5677 Option("mds_action_on_write_error", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5679 .set_description(""),
5681 Option("mds_mon_shutdown_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5683 .set_description(""),
5685 Option("mds_max_purge_files", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5687 .set_description(""),
5689 Option("mds_max_purge_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5691 .set_description(""),
5693 Option("mds_max_purge_ops_per_pg", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5695 .set_description(""),
5697 Option("mds_purge_queue_busy_flush_period", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5699 .set_description(""),
5701 Option("mds_root_ino_uid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5703 .set_description(""),
5705 Option("mds_root_ino_gid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5707 .set_description(""),
5709 Option("mds_max_scrub_ops_in_progress", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5711 .set_description(""),
5713 Option("mds_damage_table_max_entries", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5715 .set_description(""),
5717 Option("mds_client_writeable_range_max_inc_objs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5719 .set_description(""),
5723 std::vector
<Option
> get_mds_client_options() {
5724 return std::vector
<Option
>({
5725 Option("client_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5727 .set_description(""),
5729 Option("client_cache_mid", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5731 .set_description(""),
5733 Option("client_use_random_mds", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5735 .set_description(""),
5737 Option("client_mount_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5739 .set_description(""),
5741 Option("client_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5743 .set_description(""),
5745 Option("client_trace", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5747 .set_description(""),
5749 Option("client_readahead_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5750 .set_default(128*1024)
5751 .set_description(""),
5753 Option("client_readahead_max_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5755 .set_description(""),
5757 Option("client_readahead_max_periods", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5759 .set_description(""),
5761 Option("client_reconnect_stale", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5763 .set_description(""),
5765 Option("client_snapdir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5766 .set_default(".snap")
5767 .set_description(""),
5769 Option("client_mountpoint", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5771 .set_description(""),
5773 Option("client_mount_uid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5775 .set_description(""),
5777 Option("client_mount_gid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5779 .set_description(""),
5781 Option("client_notify_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5783 .set_description(""),
5785 Option("osd_client_watch_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5787 .set_description(""),
5789 Option("client_caps_release_delay", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5791 .set_description(""),
5793 Option("client_quota_df", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5795 .set_description(""),
5797 Option("client_oc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5799 .set_description(""),
5801 Option("client_oc_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5802 .set_default(1024*1024* 200)
5803 .set_description(""),
5805 Option("client_oc_max_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5806 .set_default(1024*1024* 100)
5807 .set_description(""),
5809 Option("client_oc_target_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5810 .set_default(1024*1024* 8)
5811 .set_description(""),
5813 Option("client_oc_max_dirty_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5815 .set_description(""),
5817 Option("client_oc_max_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5819 .set_description(""),
5821 Option("client_debug_getattr_caps", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5823 .set_description(""),
5825 Option("client_debug_force_sync_read", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5827 .set_description(""),
5829 Option("client_debug_inject_tick_delay", Option::TYPE_INT
, Option::LEVEL_DEV
)
5831 .set_description(""),
5833 Option("client_max_inline_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5835 .set_description(""),
5837 Option("client_inject_release_failure", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5839 .set_description(""),
5841 Option("client_inject_fixed_oldest_tid", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5843 .set_description(""),
5845 Option("client_metadata", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5847 .set_description(""),
5849 Option("client_acl_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5851 .set_description(""),
5853 Option("client_permissions", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5855 .set_description(""),
5857 Option("client_dirsize_rbytes", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5859 .set_description(""),
5861 Option("fuse_use_invalidate_cb", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5863 .set_description(""),
5865 Option("fuse_disable_pagecache", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5867 .set_description(""),
5869 Option("fuse_allow_other", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5871 .set_description(""),
5873 Option("fuse_default_permissions", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5875 .set_description(""),
5877 Option("fuse_big_writes", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5879 .set_description(""),
5881 Option("fuse_atomic_o_trunc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5883 .set_description(""),
5885 Option("fuse_debug", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5887 .set_description(""),
5889 Option("fuse_multithreaded", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5891 .set_description(""),
5893 Option("fuse_require_active_mds", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5895 .set_description(""),
5897 Option("fuse_syncfs_on_mksnap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5899 .set_description(""),
5901 Option("fuse_set_user_groups", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5903 .set_description(""),
5905 Option("client_try_dentry_invalidate", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5907 .set_description(""),
5909 Option("client_die_on_failed_remount", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5911 .set_description(""),
5913 Option("client_check_pool_perm", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5915 .set_description(""),
5917 Option("client_use_faked_inos", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5919 .set_description(""),
5921 Option("client_mds_namespace", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5923 .set_description(""),
5928 static std::vector
<Option
> build_options()
5930 std::vector
<Option
> result
= get_global_options();
5932 auto ingest
= [&result
](std::vector
<Option
>&& options
, const char* svc
) {
5933 for (const auto &o_in
: options
) {
5936 result
.push_back(o
);
5940 ingest(get_rgw_options(), "rgw");
5941 ingest(get_rbd_options(), "rbd");
5942 ingest(get_mds_options(), "mds");
5943 ingest(get_mds_client_options(), "mds_client");
5948 const std::vector
<Option
> ceph_options
= build_options();