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
));
91 std::string level_str
;
93 f
->dump_string("level", level_to_str(level
));
95 f
->dump_string("desc", desc
);
96 f
->dump_string("long_desc", long_desc
);
98 dump_value("default", value
, f
);
99 dump_value("daemon_default", daemon_value
, f
);
101 f
->open_array_section("tags");
102 for (const auto t
: tags
) {
103 f
->dump_string("tag", t
);
107 f
->open_array_section("services");
108 for (const auto s
: services
) {
109 f
->dump_string("service", s
);
113 f
->open_array_section("see_also");
114 for (const auto sa
: see_also
) {
115 f
->dump_string("see_also", sa
);
119 if (type
== TYPE_STR
) {
120 f
->open_array_section("enum_values");
121 for (const auto &ea
: enum_allowed
) {
122 f
->dump_string("enum_value", ea
);
127 dump_value("min", min
, f
);
128 dump_value("max", max
, f
);
134 std::vector
<Option
> global_options
= {
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_min_osdmap_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1100 .set_description(""),
1102 Option("mon_max_pgmap_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1104 .set_description(""),
1106 Option("mon_max_log_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1108 .set_description(""),
1110 Option("mon_max_mdsmap_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1112 .set_description(""),
1114 Option("mon_max_osd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1116 .set_description(""),
1118 Option("mon_probe_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1120 .set_description(""),
1122 Option("mon_client_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1123 .set_default(100ul << 20)
1124 .set_description(""),
1126 Option("mon_mgr_proxy_client_bytes_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1128 .set_description(""),
1130 Option("mon_log_max_summary", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1132 .set_description(""),
1134 Option("mon_daemon_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1135 .set_default(400ul << 20)
1136 .set_description(""),
1138 Option("mon_max_log_entries_per_event", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1140 .set_description(""),
1142 Option("mon_reweight_min_pgs_per_osd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1144 .set_description(""),
1146 Option("mon_reweight_min_bytes_per_osd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1147 .set_default(100*1024*1024)
1148 .set_description(""),
1150 Option("mon_reweight_max_osds", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1152 .set_description(""),
1154 Option("mon_reweight_max_change", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1156 .set_description(""),
1158 Option("mon_health_data_update_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1160 .set_description(""),
1162 Option("mon_health_to_clog", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1164 .set_description(""),
1166 Option("mon_health_to_clog_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1168 .set_description(""),
1170 Option("mon_health_to_clog_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1172 .set_description(""),
1174 Option("mon_health_preluminous_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1176 .set_description(""),
1178 Option("mon_health_max_detail", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1180 .set_description(""),
1182 Option("mon_data_avail_crit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1184 .set_description(""),
1186 Option("mon_data_avail_warn", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1188 .set_description(""),
1190 Option("mon_data_size_warn", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1191 .set_default(15ull*1024*1024*1024)
1192 .set_description(""),
1194 Option("mon_warn_not_scrubbed", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1196 .set_description(""),
1198 Option("mon_warn_not_deep_scrubbed", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1200 .set_description(""),
1202 Option("mon_scrub_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1203 .set_default(3600*24)
1204 .set_description(""),
1206 Option("mon_scrub_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1208 .set_description(""),
1210 Option("mon_scrub_max_keys", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1212 .set_description(""),
1214 Option("mon_scrub_inject_crc_mismatch", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1216 .set_description(""),
1218 Option("mon_scrub_inject_missing_keys", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1220 .set_description(""),
1222 Option("mon_config_key_max_entry_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1224 .set_description(""),
1226 Option("mon_sync_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1228 .set_description(""),
1230 Option("mon_sync_max_payload_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1231 .set_default(1048576)
1232 .set_description(""),
1234 Option("mon_sync_debug", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1236 .set_description(""),
1238 Option("mon_inject_sync_get_chunk_delay", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1240 .set_description(""),
1242 Option("mon_osd_min_down_reporters", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1244 .set_description(""),
1246 Option("mon_osd_reporter_subtree_level", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1247 .set_default("host")
1248 .set_description(""),
1250 Option("mon_osd_force_trim_to", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1252 .set_description(""),
1254 Option("mon_mds_force_trim_to", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1256 .set_description(""),
1258 Option("mon_mds_skip_sanity", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1260 .set_description(""),
1262 Option("mon_debug_deprecated_as_obsolete", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1264 .set_description(""),
1266 Option("mon_debug_dump_transactions", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1268 .set_description(""),
1270 Option("mon_debug_dump_json", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1272 .set_description(""),
1274 Option("mon_debug_dump_location", Option::TYPE_STR
, Option::LEVEL_DEV
)
1275 .set_default("/var/log/ceph/$cluster-$name.tdump")
1276 .set_description(""),
1278 Option("mon_debug_no_require_luminous", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1280 .set_description(""),
1282 Option("mon_debug_no_require_bluestore_for_ec_overwrites", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1284 .set_description(""),
1286 Option("mon_debug_no_initial_persistent_features", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1288 .set_description(""),
1290 Option("mon_inject_transaction_delay_max", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1292 .set_description(""),
1294 Option("mon_inject_transaction_delay_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1296 .set_description(""),
1298 Option("mon_sync_provider_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
1300 .set_description(""),
1302 Option("mon_sync_requester_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
1304 .set_description(""),
1306 Option("mon_force_quorum_join", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1308 .set_description(""),
1310 Option("mon_keyvaluedb", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1311 .set_default("rocksdb")
1312 .set_description(""),
1314 Option("mon_debug_unsafe_allow_tier_with_nonempty_snaps", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1316 .set_description(""),
1318 Option("mon_osd_blacklist_default_expire", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1320 .set_description(""),
1322 Option("mon_osd_crush_smoke_test", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1324 .set_description(""),
1326 Option("paxos_stash_full_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1328 .set_description(""),
1330 Option("paxos_max_join_drift", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1332 .set_description(""),
1334 Option("paxos_propose_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1336 .set_description(""),
1338 Option("paxos_min_wait", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1340 .set_description(""),
1342 Option("paxos_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1344 .set_description(""),
1346 Option("paxos_trim_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1348 .set_description(""),
1350 Option("paxos_trim_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1352 .set_description(""),
1354 Option("paxos_service_trim_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1356 .set_description(""),
1358 Option("paxos_service_trim_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1360 .set_description(""),
1362 Option("paxos_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
1364 .set_description(""),
1366 Option("auth_cluster_required", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1367 .set_default("cephx")
1368 .set_description(""),
1370 Option("auth_service_required", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1371 .set_default("cephx")
1372 .set_description(""),
1374 Option("auth_client_required", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1375 .set_default("cephx, none")
1376 .set_description(""),
1378 Option("auth_supported", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1380 .set_description(""),
1382 Option("max_rotating_auth_attempts", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1384 .set_description(""),
1386 Option("cephx_require_signatures", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1388 .set_description(""),
1390 Option("cephx_cluster_require_signatures", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1392 .set_description(""),
1394 Option("cephx_service_require_signatures", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1396 .set_description(""),
1398 Option("cephx_sign_messages", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1400 .set_description(""),
1402 Option("auth_mon_ticket_ttl", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1403 .set_default(60*60*12)
1404 .set_description(""),
1406 Option("auth_service_ticket_ttl", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1408 .set_description(""),
1410 Option("auth_debug", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1412 .set_description(""),
1414 Option("mon_client_hunt_parallel", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1416 .set_description(""),
1418 Option("mon_client_hunt_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1420 .set_description(""),
1422 Option("mon_client_ping_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1424 .set_description(""),
1426 Option("mon_client_ping_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1428 .set_description(""),
1430 Option("mon_client_hunt_interval_backoff", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1432 .set_description(""),
1434 Option("mon_client_hunt_interval_min_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1436 .set_description(""),
1438 Option("mon_client_hunt_interval_max_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1440 .set_description(""),
1442 Option("mon_client_max_log_entries_per_message", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1444 .set_description(""),
1446 Option("mon_max_pool_pg_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1448 .set_description(""),
1450 Option("mon_pool_quota_warn_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1452 .set_description(""),
1454 Option("mon_pool_quota_crit_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1456 .set_description(""),
1458 Option("crush_location", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1460 .set_description(""),
1462 Option("crush_location_hook", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1464 .set_description(""),
1466 Option("crush_location_hook_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1468 .set_description(""),
1470 Option("objecter_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1472 .set_description(""),
1474 Option("objecter_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1476 .set_description(""),
1478 Option("objecter_inflight_op_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1479 .set_default(1024*1024*100)
1480 .set_description(""),
1482 Option("objecter_inflight_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1484 .set_description(""),
1486 Option("objecter_completion_locks_per_session", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1488 .set_description(""),
1490 Option("objecter_inject_no_watch_ping", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1492 .set_description(""),
1494 Option("objecter_retry_writes_after_first_reply", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1496 .set_description(""),
1498 Option("objecter_debug_inject_relock_delay", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1500 .set_description(""),
1502 Option("filer_max_purge_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1504 .set_description(""),
1506 Option("filer_max_truncate_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1508 .set_description(""),
1510 Option("journaler_write_head_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1512 .set_description(""),
1514 Option("journaler_prefetch_periods", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1516 .set_description(""),
1518 Option("journaler_prezero_periods", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1520 .set_description(""),
1522 Option("osd_check_max_object_name_len_on_startup", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1524 .set_description(""),
1526 Option("osd_max_backfills", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1528 .set_description(""),
1530 Option("osd_min_recovery_priority", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1532 .set_description(""),
1534 Option("osd_backfill_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1536 .set_description(""),
1538 Option("osd_recovery_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1540 .set_description(""),
1542 Option("osd_agent_max_ops", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1544 .set_description(""),
1546 Option("osd_agent_max_low_ops", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1548 .set_description(""),
1550 Option("osd_agent_min_evict_effort", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1552 .set_description(""),
1554 Option("osd_agent_quantize_effort", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1556 .set_description(""),
1558 Option("osd_agent_delay_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1560 .set_description(""),
1562 Option("osd_find_best_info_ignore_history_les", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1564 .set_description(""),
1566 Option("osd_agent_hist_halflife", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1568 .set_description(""),
1570 Option("osd_agent_slop", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1572 .set_description(""),
1574 Option("osd_uuid", Option::TYPE_UUID
, Option::LEVEL_ADVANCED
)
1575 .set_default(uuid_d())
1576 .set_description(""),
1578 Option("osd_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1579 .set_default("/var/lib/ceph/osd/$cluster-$id")
1580 .set_description(""),
1582 Option("osd_journal", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1583 .set_default("/var/lib/ceph/osd/$cluster-$id/journal")
1584 .set_description(""),
1586 Option("osd_journal_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1588 .set_description(""),
1590 Option("osd_journal_flush_on_shutdown", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1592 .set_description(""),
1594 Option("osd_os_flags", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1596 .set_description(""),
1598 Option("osd_max_write_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1600 .set_description(""),
1602 Option("osd_max_pgls", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1604 .set_description(""),
1606 Option("osd_client_message_size_cap", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1607 .set_default(500*1024L*1024L)
1608 .set_description(""),
1610 Option("osd_client_message_cap", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1612 .set_description(""),
1614 Option("osd_pg_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1616 .set_description(""),
1618 Option("osd_pgp_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1620 .set_description(""),
1622 Option("osd_crush_update_weight_set", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1624 .set_description(""),
1626 Option("osd_crush_chooseleaf_type", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1628 .set_description(""),
1630 Option("osd_pool_use_gmt_hitset", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1632 .set_description(""),
1634 Option("osd_crush_update_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1636 .set_description(""),
1638 Option("osd_class_update_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1640 .set_description(""),
1642 Option("osd_crush_initial_weight", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1644 .set_description(""),
1646 Option("osd_pool_default_crush_rule", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1648 .set_description(""),
1650 Option("osd_pool_erasure_code_stripe_unit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1652 .set_description(""),
1654 Option("osd_pool_default_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1656 .set_description(""),
1658 Option("osd_pool_default_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1660 .set_description(""),
1662 Option("osd_pool_default_pg_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1664 .set_description(""),
1666 Option("osd_pool_default_pgp_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1668 .set_description(""),
1670 Option("osd_pool_default_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1671 .set_default("replicated")
1672 .set_description(""),
1674 Option("osd_pool_default_erasure_code_profile", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1675 .set_default("plugin=jerasure technique=reed_sol_van k=2 m=1")
1676 .set_description(""),
1678 Option("osd_erasure_code_plugins", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1679 .set_default("jerasure lrc"
1680 #ifdef HAVE_BETTER_YASM_ELF64
1684 .set_description(""),
1686 Option("osd_allow_recovery_below_min_size", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1688 .set_description(""),
1690 Option("osd_pool_default_flags", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1692 .set_description(""),
1694 Option("osd_pool_default_flag_hashpspool", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1696 .set_description(""),
1698 Option("osd_pool_default_flag_nodelete", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1700 .set_description(""),
1702 Option("osd_pool_default_flag_nopgchange", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1704 .set_description(""),
1706 Option("osd_pool_default_flag_nosizechange", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1708 .set_description(""),
1710 Option("osd_pool_default_hit_set_bloom_fpp", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1712 .set_description(""),
1714 Option("osd_pool_default_cache_target_dirty_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1716 .set_description(""),
1718 Option("osd_pool_default_cache_target_dirty_high_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1720 .set_description(""),
1722 Option("osd_pool_default_cache_target_full_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1724 .set_description(""),
1726 Option("osd_pool_default_cache_min_flush_age", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1728 .set_description(""),
1730 Option("osd_pool_default_cache_min_evict_age", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1732 .set_description(""),
1734 Option("osd_pool_default_cache_max_evict_check_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1736 .set_description(""),
1738 Option("osd_hit_set_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1740 .set_description(""),
1742 Option("osd_hit_set_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1743 .set_default(100000)
1744 .set_description(""),
1746 Option("osd_hit_set_namespace", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1747 .set_default(".ceph-internal")
1748 .set_description(""),
1750 Option("osd_tier_promote_max_objects_sec", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1752 .set_description(""),
1754 Option("osd_tier_promote_max_bytes_sec", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1755 .set_default(5 * 1024*1024)
1756 .set_description(""),
1758 Option("osd_tier_default_cache_mode", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1759 .set_default("writeback")
1760 .set_description(""),
1762 Option("osd_tier_default_cache_hit_set_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1764 .set_description(""),
1766 Option("osd_tier_default_cache_hit_set_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1768 .set_description(""),
1770 Option("osd_tier_default_cache_hit_set_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1771 .set_default("bloom")
1772 .set_description(""),
1774 Option("osd_tier_default_cache_min_read_recency_for_promote", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1776 .set_description(""),
1778 Option("osd_tier_default_cache_min_write_recency_for_promote", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1780 .set_description(""),
1782 Option("osd_tier_default_cache_hit_set_grade_decay_rate", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1784 .set_description(""),
1786 Option("osd_tier_default_cache_hit_set_search_last_n", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1788 .set_description(""),
1790 Option("osd_map_dedup", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1792 .set_description(""),
1794 Option("osd_map_max_advance", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1796 .set_description(""),
1798 Option("osd_map_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1800 .set_description(""),
1802 Option("osd_map_message_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1804 .set_description(""),
1806 Option("osd_map_share_max_epochs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1808 .set_description(""),
1810 Option("osd_inject_bad_map_crc_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
1812 .set_description(""),
1814 Option("osd_inject_failure_on_pg_removal", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
1816 .set_description(""),
1818 Option("osd_max_markdown_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1820 .set_description(""),
1822 Option("osd_max_markdown_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1824 .set_description(""),
1826 Option("osd_peering_wq_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1828 .set_description(""),
1830 Option("osd_peering_wq_batch_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1832 .set_description(""),
1834 Option("osd_op_pq_max_tokens_per_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1835 .set_default(4194304)
1836 .set_description(""),
1838 Option("osd_op_pq_min_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
1840 .set_description(""),
1842 Option("osd_disk_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1844 .set_description(""),
1846 Option("osd_disk_thread_ioprio_class", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1848 .set_description(""),
1850 Option("osd_disk_thread_ioprio_priority", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1852 .set_description(""),
1854 Option("osd_recover_clone_overlap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1856 .set_description(""),
1858 Option("osd_op_num_threads_per_shard", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1860 .set_description(""),
1862 Option("osd_op_num_threads_per_shard_hdd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1864 .set_description(""),
1866 Option("osd_op_num_threads_per_shard_ssd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1868 .set_description(""),
1870 Option("osd_op_num_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1872 .set_description(""),
1874 Option("osd_op_num_shards_hdd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1876 .set_description(""),
1878 Option("osd_op_num_shards_ssd", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1880 .set_description(""),
1882 Option("osd_op_queue", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1884 .set_description(""),
1886 Option("osd_op_queue_cut_off", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
1888 .set_description(""),
1890 Option("osd_op_queue_mclock_client_op_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1891 .set_default(1000.0)
1892 .set_description(""),
1894 Option("osd_op_queue_mclock_client_op_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1896 .set_description(""),
1898 Option("osd_op_queue_mclock_client_op_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1900 .set_description(""),
1902 Option("osd_op_queue_mclock_osd_subop_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1903 .set_default(1000.0)
1904 .set_description(""),
1906 Option("osd_op_queue_mclock_osd_subop_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1908 .set_description(""),
1910 Option("osd_op_queue_mclock_osd_subop_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1912 .set_description(""),
1914 Option("osd_op_queue_mclock_snap_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1916 .set_description(""),
1918 Option("osd_op_queue_mclock_snap_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1920 .set_description(""),
1922 Option("osd_op_queue_mclock_snap_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1924 .set_description(""),
1926 Option("osd_op_queue_mclock_recov_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1928 .set_description(""),
1930 Option("osd_op_queue_mclock_recov_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1932 .set_description(""),
1934 Option("osd_op_queue_mclock_recov_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1936 .set_description(""),
1938 Option("osd_op_queue_mclock_scrub_res", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1940 .set_description(""),
1942 Option("osd_op_queue_mclock_scrub_wgt", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1944 .set_description(""),
1946 Option("osd_op_queue_mclock_scrub_lim", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1948 .set_description(""),
1950 Option("osd_ignore_stale_divergent_priors", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1952 .set_description(""),
1954 Option("osd_read_ec_check_for_errors", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
1956 .set_description(""),
1958 Option("osd_recover_clone_overlap_limit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1960 .set_description(""),
1962 Option("osd_backfill_scan_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1964 .set_description(""),
1966 Option("osd_backfill_scan_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1968 .set_description(""),
1970 Option("osd_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1972 .set_description(""),
1974 Option("osd_op_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1976 .set_description(""),
1978 Option("osd_recovery_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1980 .set_description(""),
1982 Option("osd_recovery_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
1984 .set_description(""),
1986 Option("osd_recovery_sleep", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1988 .set_description(""),
1990 Option("osd_recovery_sleep_hdd", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1992 .set_description(""),
1994 Option("osd_recovery_sleep_ssd", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
1996 .set_description(""),
1998 Option("osd_snap_trim_sleep", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2000 .set_description(""),
2002 Option("osd_scrub_invalid_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2004 .set_description(""),
2006 Option("osd_remove_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2008 .set_description(""),
2010 Option("osd_remove_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2011 .set_default(10*60*60)
2012 .set_description(""),
2014 Option("osd_command_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2016 .set_description(""),
2018 Option("osd_command_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2020 .set_description(""),
2022 Option("osd_heartbeat_addr", Option::TYPE_ADDR
, Option::LEVEL_ADVANCED
)
2023 .set_default(entity_addr_t())
2024 .set_description(""),
2026 Option("osd_heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2028 .set_description(""),
2030 Option("osd_heartbeat_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2032 .set_description(""),
2034 Option("osd_heartbeat_min_peers", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2036 .set_description(""),
2038 Option("osd_heartbeat_use_min_delay_socket", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2040 .set_description(""),
2042 Option("osd_heartbeat_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2044 .set_description(""),
2046 Option("osd_pg_max_concurrent_snap_trims", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2048 .set_description(""),
2050 Option("osd_max_trimming_pgs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2052 .set_description(""),
2054 Option("osd_heartbeat_min_healthy_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2056 .set_description(""),
2058 Option("osd_mon_heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2060 .set_description(""),
2062 Option("osd_mon_report_interval_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2064 .set_description(""),
2066 Option("osd_mon_report_interval_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2068 .set_description(""),
2070 Option("osd_mon_report_max_in_flight", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2072 .set_description(""),
2074 Option("osd_beacon_report_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2076 .set_description(""),
2078 Option("osd_pg_stat_report_interval_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2080 .set_description(""),
2082 Option("osd_mon_ack_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2084 .set_description(""),
2086 Option("osd_stats_ack_timeout_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2088 .set_description(""),
2090 Option("osd_stats_ack_timeout_decay", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2092 .set_description(""),
2094 Option("osd_default_data_pool_replay_window", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2096 .set_description(""),
2098 Option("osd_auto_mark_unfound_lost", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2100 .set_description(""),
2102 Option("osd_recovery_delay_start", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2104 .set_description(""),
2106 Option("osd_recovery_max_active", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2108 .set_description(""),
2110 Option("osd_recovery_max_single_start", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2112 .set_description(""),
2114 Option("osd_recovery_max_chunk", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2116 .set_description(""),
2118 Option("osd_recovery_max_omap_entries_per_chunk", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2120 .set_description(""),
2122 Option("osd_copyfrom_max_chunk", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2124 .set_description(""),
2126 Option("osd_push_per_object_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2128 .set_description(""),
2130 Option("osd_max_push_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2132 .set_description(""),
2134 Option("osd_max_push_objects", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2136 .set_description(""),
2138 Option("osd_recovery_forget_lost_objects", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2140 .set_description(""),
2142 Option("osd_max_scrubs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2144 .set_description(""),
2146 Option("osd_scrub_during_recovery", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2148 .set_description(""),
2150 Option("osd_scrub_begin_hour", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2152 .set_description(""),
2154 Option("osd_scrub_end_hour", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2156 .set_description(""),
2158 Option("osd_scrub_load_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2160 .set_description(""),
2162 Option("osd_scrub_min_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2163 .set_default(60*60*24)
2164 .set_description(""),
2166 Option("osd_scrub_max_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2167 .set_default(7*60*60*24)
2168 .set_description(""),
2170 Option("osd_scrub_interval_randomize_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2172 .set_description(""),
2174 Option("osd_scrub_backoff_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2176 .set_description(""),
2178 Option("osd_scrub_chunk_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2180 .set_description(""),
2182 Option("osd_scrub_chunk_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2184 .set_description(""),
2186 Option("osd_scrub_sleep", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2188 .set_description(""),
2190 Option("osd_scrub_auto_repair", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2192 .set_description(""),
2194 Option("osd_scrub_auto_repair_num_errors", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2196 .set_description(""),
2198 Option("osd_deep_scrub_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2199 .set_default(60*60*24*7)
2200 .set_description(""),
2202 Option("osd_deep_scrub_randomize_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2204 .set_description(""),
2206 Option("osd_deep_scrub_stride", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2207 .set_default(524288)
2208 .set_description(""),
2210 Option("osd_deep_scrub_update_digest_min_age", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2211 .set_default(2*60*60)
2212 .set_description(""),
2214 Option("osd_class_dir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2215 .set_default(CEPH_LIBDIR
"/rados-classes")
2216 .set_description(""),
2218 Option("osd_open_classes_on_start", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2220 .set_description(""),
2222 Option("osd_class_load_list", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2223 .set_default("cephfs hello journal lock log numops " "rbd refcount replica_log rgw statelog timeindex user version")
2224 .set_description(""),
2226 Option("osd_class_default_list", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2227 .set_default("cephfs hello journal lock log numops " "rbd refcount replica_log rgw statelog timeindex user version")
2228 .set_description(""),
2230 Option("osd_check_for_log_corruption", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2232 .set_description(""),
2234 Option("osd_use_stale_snap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2236 .set_description(""),
2238 Option("osd_rollback_to_cluster_snap", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2240 .set_description(""),
2242 Option("osd_default_notify_timeout", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2244 .set_description(""),
2246 Option("osd_kill_backfill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
2248 .set_description(""),
2250 Option("osd_pg_epoch_persisted_max_stale", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2252 .set_description(""),
2254 Option("osd_min_pg_log_entries", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2256 .set_description("minimum number of entries to maintain in the PG log")
2258 .add_see_also("osd_max_pg_log_entries")
2259 .add_see_also("osd_pg_log_dups_tracked"),
2261 Option("osd_max_pg_log_entries", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2263 .set_description("maximum number of entries to maintain in the PG log when degraded before we trim")
2265 .add_see_also("osd_min_pg_log_entries")
2266 .add_see_also("osd_pg_log_dups_tracked"),
2268 Option("osd_pg_log_dups_tracked", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2270 .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")
2272 .add_see_also("osd_min_pg_log_entries")
2273 .add_see_also("osd_max_pg_log_entries"),
2275 Option("osd_force_recovery_pg_log_entries_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2277 .set_description(""),
2279 Option("osd_pg_log_trim_min", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2281 .set_description(""),
2283 Option("osd_op_complaint_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2285 .set_description(""),
2287 Option("osd_command_max_records", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2289 .set_description(""),
2291 Option("osd_max_pg_blocked_by", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2293 .set_description(""),
2295 Option("osd_op_log_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2297 .set_description(""),
2299 Option("osd_verify_sparse_read_holes", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2301 .set_description(""),
2303 Option("osd_backoff_on_unfound", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2305 .set_description(""),
2307 Option("osd_backoff_on_degraded", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2309 .set_description(""),
2311 Option("osd_backoff_on_down", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2313 .set_description(""),
2315 Option("osd_backoff_on_peering", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2317 .set_description(""),
2319 Option("osd_debug_crash_on_ignored_backoff", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2321 .set_description(""),
2323 Option("osd_debug_inject_dispatch_delay_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2325 .set_description(""),
2327 Option("osd_debug_inject_dispatch_delay_duration", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2329 .set_description(""),
2331 Option("osd_debug_drop_ping_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2333 .set_description(""),
2335 Option("osd_debug_drop_ping_duration", Option::TYPE_INT
, Option::LEVEL_DEV
)
2337 .set_description(""),
2339 Option("osd_debug_op_order", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2341 .set_description(""),
2343 Option("osd_debug_verify_missing_on_start", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2345 .set_description(""),
2347 Option("osd_debug_scrub_chance_rewrite_digest", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2349 .set_description(""),
2351 Option("osd_debug_verify_snaps_on_info", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2353 .set_description(""),
2355 Option("osd_debug_verify_stray_on_activate", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2357 .set_description(""),
2359 Option("osd_debug_skip_full_check_in_backfill_reservation", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2361 .set_description(""),
2363 Option("osd_debug_reject_backfill_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2365 .set_description(""),
2367 Option("osd_debug_inject_copyfrom_error", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2369 .set_description(""),
2371 Option("osd_debug_misdirected_ops", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2373 .set_description(""),
2375 Option("osd_debug_skip_full_check_in_recovery", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2377 .set_description(""),
2379 Option("osd_debug_random_push_read_error", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2381 .set_description(""),
2383 Option("osd_debug_verify_cached_snaps", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2385 .set_description(""),
2387 Option("osd_enable_op_tracker", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2389 .set_description(""),
2391 Option("osd_num_op_tracker_shard", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2393 .set_description(""),
2395 Option("osd_op_history_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2397 .set_description(""),
2399 Option("osd_op_history_duration", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2401 .set_description(""),
2403 Option("osd_op_history_slow_op_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2405 .set_description(""),
2407 Option("osd_op_history_slow_op_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2409 .set_description(""),
2411 Option("osd_target_transaction_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2413 .set_description(""),
2415 Option("osd_failsafe_full_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2417 .set_description(""),
2419 Option("osd_fast_fail_on_connection_refused", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2421 .set_description(""),
2423 Option("osd_pg_object_context_cache_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2425 .set_description(""),
2427 Option("osd_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2429 .set_description(""),
2431 Option("osd_function_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2433 .set_description(""),
2435 Option("osd_fast_info", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2437 .set_description(""),
2439 Option("osd_debug_pg_log_writeout", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2441 .set_description(""),
2443 Option("osd_loop_before_reset_tphandle", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2445 .set_description(""),
2447 Option("threadpool_default_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2449 .set_description(""),
2451 Option("threadpool_empty_queue_max_wait", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2453 .set_description(""),
2455 Option("leveldb_log_to_ceph_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2457 .set_description(""),
2459 Option("leveldb_write_buffer_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2460 .set_default(8 *1024*1024)
2461 .set_description(""),
2463 Option("leveldb_cache_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2464 .set_default(128 *1024*1024)
2465 .set_description(""),
2467 Option("leveldb_block_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2469 .set_description(""),
2471 Option("leveldb_bloom_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2473 .set_description(""),
2475 Option("leveldb_max_open_files", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2477 .set_description(""),
2479 Option("leveldb_compression", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2481 .set_description(""),
2483 Option("leveldb_paranoid", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2485 .set_description(""),
2487 Option("leveldb_log", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2488 .set_default("/dev/null")
2489 .set_description(""),
2491 Option("leveldb_compact_on_mount", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2493 .set_description(""),
2495 Option("kinetic_host", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2497 .set_description(""),
2499 Option("kinetic_port", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2501 .set_description(""),
2503 Option("kinetic_user_id", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2505 .set_description(""),
2507 Option("kinetic_hmac_key", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2508 .set_default("asdfasdf")
2509 .set_description(""),
2511 Option("kinetic_use_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2513 .set_description(""),
2515 Option("rocksdb_separate_wal_dir", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2517 .set_description(""),
2519 Option("rocksdb_db_paths", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2521 .set_description("")
2524 Option("rocksdb_log_to_ceph_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2526 .set_description(""),
2528 Option("rocksdb_cache_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2529 .set_default(128*1024*1024)
2530 .set_description(""),
2532 Option("rocksdb_cache_row_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2534 .set_description(""),
2536 Option("rocksdb_cache_shard_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2538 .set_description(""),
2540 Option("rocksdb_cache_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2542 .set_description(""),
2544 Option("rocksdb_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2545 .set_default(4*1024)
2546 .set_description(""),
2548 Option("rocksdb_perf", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2550 .set_description(""),
2552 Option("rocksdb_collect_compaction_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2554 .set_description(""),
2556 Option("rocksdb_collect_extended_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2558 .set_description(""),
2560 Option("rocksdb_collect_memory_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2562 .set_description(""),
2564 Option("rocksdb_enable_rmrange", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2566 .set_description(""),
2568 Option("rocksdb_bloom_bits_per_key", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2570 .set_description("Number of bits per key to use for RocksDB's bloom filters.")
2571 .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."),
2573 Option("rocksdb_cache_index_and_filter_blocks", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2575 .set_description("Whether to cache indices and filters in block cache")
2576 .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."),
2578 Option("rocksdb_cache_index_and_filter_blocks_with_high_priority", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2580 .set_description("Whether to cache indices and filters in the block cache with high priority")
2581 .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."),
2583 Option("rocksdb_pin_l0_filter_and_index_blocks_in_cache", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2585 .set_description("Whether to pin Level 0 indices and bloom filters in the block cache")
2586 .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."),
2588 Option("rocksdb_index_type", Option::TYPE_STR
, Option::LEVEL_DEV
)
2589 .set_default("binary_search")
2590 .set_description("Type of index for SST files: binary_search, hash_search, two_level")
2591 .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"),
2593 Option("rocksdb_partition_filters", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2595 .set_description("(experimental) partition SST index/filters into smaller blocks")
2596 .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"),
2598 Option("rocksdb_metadata_block_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2600 .set_description("The block size for index partitions. (0 = rocksdb default)"),
2602 Option("mon_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2603 .set_default("write_buffer_size=33554432,compression=kNoCompression")
2604 .set_description(""),
2606 Option("osd_client_op_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2608 .set_description(""),
2610 Option("osd_recovery_op_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2612 .set_description(""),
2614 Option("osd_snap_trim_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2616 .set_description(""),
2618 Option("osd_snap_trim_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2620 .set_description(""),
2622 Option("osd_scrub_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2624 .set_description(""),
2626 Option("osd_scrub_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2627 .set_default(50<<20)
2628 .set_description(""),
2630 Option("osd_requested_scrub_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2632 .set_description(""),
2634 Option("osd_recovery_priority", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2636 .set_description(""),
2638 Option("osd_recovery_cost", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2639 .set_default(20<<20)
2640 .set_description(""),
2642 Option("osd_recovery_op_warn_multiple", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2644 .set_description(""),
2646 Option("osd_mon_shutdown_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2648 .set_description(""),
2650 Option("osd_shutdown_pgref_assert", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2652 .set_description(""),
2654 Option("osd_max_object_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2655 .set_default(128*1024L*1024L)
2656 .set_description(""),
2658 Option("osd_max_object_name_len", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2660 .set_description(""),
2662 Option("osd_max_object_namespace_len", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2664 .set_description(""),
2666 Option("osd_max_attr_name_len", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2668 .set_description(""),
2670 Option("osd_max_attr_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2672 .set_description(""),
2674 Option("osd_max_omap_entries_per_request", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2675 .set_default(131072)
2676 .set_description(""),
2678 Option("osd_max_omap_bytes_per_request", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2680 .set_description(""),
2682 Option("osd_objectstore", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2683 .set_default("filestore")
2684 .set_description(""),
2686 Option("osd_objectstore_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2688 .set_description(""),
2690 Option("osd_objectstore_fuse", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2692 .set_description(""),
2694 Option("osd_bench_small_size_max_iops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2696 .set_description(""),
2698 Option("osd_bench_large_size_max_throughput", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2699 .set_default(100 << 20)
2700 .set_description(""),
2702 Option("osd_bench_max_block_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2703 .set_default(64 << 20)
2704 .set_description(""),
2706 Option("osd_bench_duration", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2708 .set_description(""),
2710 Option("osd_blkin_trace_all", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2712 .set_description(""),
2714 Option("osdc_blkin_trace_all", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2716 .set_description(""),
2718 Option("osd_discard_disconnected_ops", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2720 .set_description(""),
2722 Option("memstore_device_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2723 .set_default(1024*1024*1024)
2724 .set_description(""),
2726 Option("memstore_page_set", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2728 .set_description(""),
2730 Option("memstore_page_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2731 .set_default(64 << 10)
2732 .set_description(""),
2734 Option("objectstore_blackhole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2736 .set_description(""),
2738 // --------------------------
2741 Option("bdev_debug_inflight_ios", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2743 .set_description(""),
2745 Option("bdev_inject_crash", Option::TYPE_INT
, Option::LEVEL_DEV
)
2747 .set_description(""),
2749 Option("bdev_inject_crash_flush_delay", Option::TYPE_INT
, Option::LEVEL_DEV
)
2751 .set_description(""),
2753 Option("bdev_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2755 .set_description(""),
2757 Option("bdev_aio_poll_ms", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2759 .set_description(""),
2761 Option("bdev_aio_max_queue_depth", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2763 .set_description(""),
2765 Option("bdev_aio_reap_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2767 .set_description(""),
2769 Option("bdev_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2771 .set_description(""),
2773 Option("bdev_debug_aio", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2775 .set_description(""),
2777 Option("bdev_debug_aio_suicide_timeout", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
2779 .set_description(""),
2781 Option("bdev_nvme_unbind_from_kernel", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2783 .set_description(""),
2785 Option("bdev_nvme_retry_count", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
2787 .set_description(""),
2789 Option("bluefs_alloc_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2790 .set_default(1048576)
2791 .set_description(""),
2793 Option("bluefs_max_prefetch", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2794 .set_default(1048576)
2795 .set_description(""),
2797 Option("bluefs_min_log_runway", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2798 .set_default(1048576)
2799 .set_description(""),
2801 Option("bluefs_max_log_runway", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2802 .set_default(4194304)
2803 .set_description(""),
2805 Option("bluefs_log_compact_min_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2807 .set_description(""),
2809 Option("bluefs_log_compact_min_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2810 .set_default(16*1048576)
2811 .set_description(""),
2813 Option("bluefs_min_flush_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2814 .set_default(524288)
2815 .set_description(""),
2817 Option("bluefs_compact_log_sync", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2819 .set_description(""),
2821 Option("bluefs_buffered_io", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2823 .set_description(""),
2825 Option("bluefs_sync_write", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2827 .set_description(""),
2829 Option("bluefs_allocator", Option::TYPE_STR
, Option::LEVEL_DEV
)
2830 .set_default("bitmap")
2831 .set_description(""),
2833 Option("bluefs_preextend_wal_files", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
2835 .set_description(""),
2837 Option("bluestore_bluefs", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2840 .set_description("Use BlueFS to back rocksdb")
2841 .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."),
2843 Option("bluestore_bluefs_env_mirror", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2846 .set_description("Mirror bluefs data to file system for testing/validation"),
2848 Option("bluestore_bluefs_min", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2849 .set_default(1*1024*1024*1024)
2850 .set_description("minimum disk space allocated to BlueFS (e.g., at mkfs)"),
2852 Option("bluestore_bluefs_min_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2854 .set_description("Minimum fraction of free space devoted to BlueFS"),
2856 Option("bluestore_bluefs_max_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2858 .set_description("Maximum fraction of free storage devoted to BlueFS"),
2860 Option("bluestore_bluefs_gift_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2862 .set_description("Maximum fraction of free space to give to BlueFS at once"),
2864 Option("bluestore_bluefs_reclaim_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2866 .set_description("Maximum fraction of free space to reclaim from BlueFS at once"),
2868 Option("bluestore_bluefs_balance_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
2870 .set_description("How frequently (in seconds) to balance free space between BlueFS and BlueStore"),
2872 Option("bluestore_spdk_mem", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2874 .set_description(""),
2876 Option("bluestore_spdk_coremask", Option::TYPE_STR
, Option::LEVEL_DEV
)
2878 .set_description(""),
2880 Option("bluestore_spdk_max_io_completion", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2882 .set_description(""),
2884 Option("bluestore_block_path", Option::TYPE_STR
, Option::LEVEL_DEV
)
2887 .set_description("Path to block device/file"),
2889 Option("bluestore_block_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2890 .set_default(10ull * 1024*1024*1024)
2892 .set_description("Size of file to create for backing bluestore"),
2894 Option("bluestore_block_create", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2897 .set_description("Create bluestore_block_path if it doesn't exist")
2898 .add_see_also("bluestore_block_path").add_see_also("bluestore_block_size"),
2900 Option("bluestore_block_db_path", Option::TYPE_STR
, Option::LEVEL_DEV
)
2903 .set_description("Path for db block device"),
2905 Option("bluestore_block_db_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2908 .set_description("Size of file to create for bluestore_block_db_path"),
2910 Option("bluestore_block_db_create", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2913 .set_description("Create bluestore_block_db_path if it doesn't exist")
2914 .add_see_also("bluestore_block_db_path")
2915 .add_see_also("bluestore_block_db_size"),
2917 Option("bluestore_block_wal_path", Option::TYPE_STR
, Option::LEVEL_DEV
)
2920 .set_description("Path to block device/file backing bluefs wal"),
2922 Option("bluestore_block_wal_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
2923 .set_default(96 * 1024*1024)
2925 .set_description("Size of file to create for bluestore_block_wal_path"),
2927 Option("bluestore_block_wal_create", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2930 .set_description("Create bluestore_block_wal_path if it doesn't exist")
2931 .add_see_also("bluestore_block_wal_path")
2932 .add_see_also("bluestore_block_wal_size"),
2934 Option("bluestore_block_preallocate_file", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
2937 .set_description("Preallocate file created via bluestore_block*_create"),
2939 Option("bluestore_csum_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2940 .set_default("crc32c")
2941 .set_enum_allowed({"none", "crc32c", "crc32c_16", "crc32c_8", "xxhash32", "xxhash64"})
2943 .set_description("Default checksum algorithm to use")
2944 .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."),
2946 Option("bluestore_csum_min_block", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2949 .set_description("Minimum block size to checksum")
2950 .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).")
2951 .add_see_also("bluestore_csum_max_block"),
2953 Option("bluestore_csum_max_block", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2954 .set_default(64*1024)
2956 .set_description("Maximum block size to checksum")
2957 .add_see_also("bluestore_csum_min_block"),
2959 Option("bluestore_min_alloc_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2962 .set_description("Minimum allocation size to allocate for an object")
2963 .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."),
2965 Option("bluestore_min_alloc_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2966 .set_default(64*1024)
2968 .set_description("Default min_alloc_size value for rotational media"),
2970 Option("bluestore_min_alloc_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2971 .set_default(16*1024)
2973 .set_description("Default min_alloc_size value for non-rotational (solid state) media"),
2975 Option("bluestore_max_alloc_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2978 .set_description("Maximum size of a single allocation (0 for no max)"),
2980 Option("bluestore_prefer_deferred_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2983 .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."),
2985 Option("bluestore_prefer_deferred_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2988 .set_description("Default bluestore_prefer_deferred_size for rotational media"),
2990 Option("bluestore_prefer_deferred_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
2993 .set_description("Default bluestore_prefer_deferred_size for non-rotational (solid state) media"),
2995 Option("bluestore_compression_mode", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
2996 .set_default("none")
2997 .set_enum_allowed({"none", "passive", "aggressive", "force"})
2999 .set_description("Default policy for using compression when pool does not specify")
3000 .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."),
3002 Option("bluestore_compression_algorithm", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3003 .set_default("snappy")
3004 .set_enum_allowed({"", "snappy", "zlib", "zstd", "lz4"})
3006 .set_description("Default compression algorithm to use when writing object data")
3007 .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."),
3009 Option("bluestore_compression_min_blob_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3012 .set_description("Chunks smaller than this are never compressed"),
3014 Option("bluestore_compression_min_blob_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3015 .set_default(128*1024)
3017 .set_description("Default value of bluestore_compression_min_blob_size for rotational media"),
3019 Option("bluestore_compression_min_blob_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3020 .set_default(8*1024)
3022 .set_description("Default value of bluestore_compression_min_blob_size for non-rotational (solid state) media"),
3024 Option("bluestore_compression_max_blob_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3027 .set_description("Chunks larger than this are broken into smaller chunks before being compressed"),
3029 Option("bluestore_compression_max_blob_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3030 .set_default(512*1024)
3032 .set_description("Default value of bluestore_compression_max_blob_size for rotational media"),
3034 Option("bluestore_compression_max_blob_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3035 .set_default(64*1024)
3037 .set_description("Default value of bluestore_compression_max_blob_size for non-rotational (solid state) media"),
3039 Option("bluestore_gc_enable_blob_threshold", Option::TYPE_INT
, Option::LEVEL_DEV
)
3042 .set_description(""),
3044 Option("bluestore_gc_enable_total_threshold", Option::TYPE_INT
, Option::LEVEL_DEV
)
3047 .set_description(""),
3049 Option("bluestore_max_blob_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3052 .set_description(""),
3054 Option("bluestore_max_blob_size_hdd", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3055 .set_default(512*1024)
3057 .set_description(""),
3059 Option("bluestore_max_blob_size_ssd", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3060 .set_default(64*1024)
3062 .set_description(""),
3064 Option("bluestore_compression_required_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3067 .set_description("Compression ratio required to store compressed data")
3068 .set_long_description("If we compress data and get less than this we discard the result and store the original uncompressed data."),
3070 Option("bluestore_extent_map_shard_max_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3072 .set_description("Max size (bytes) for a single extent map shard before splitting"),
3074 Option("bluestore_extent_map_shard_target_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3076 .set_description("Target size (bytes) for a single extent map shard"),
3078 Option("bluestore_extent_map_shard_min_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3080 .set_description("Min size (bytes) for a single extent map shard before merging"),
3082 Option("bluestore_extent_map_shard_target_size_slop", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3084 .set_description("Ratio above/below target for a shard when trying to align to an existing extent or blob boundary"),
3086 Option("bluestore_extent_map_inline_shard_prealloc_size", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3088 .set_description("Preallocated buffer for inline shards"),
3090 Option("bluestore_cache_trim_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3092 .set_description("How frequently we trim the bluestore cache"),
3094 Option("bluestore_cache_trim_max_skip_pinned", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3096 .set_description("Max pinned cache entries we consider before giving up"),
3098 Option("bluestore_cache_type", Option::TYPE_STR
, Option::LEVEL_DEV
)
3100 .set_enum_allowed({"2q", "lru"})
3101 .set_description("Cache replacement algorithm"),
3103 Option("bluestore_2q_cache_kin_ratio", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3105 .set_description("2Q paper suggests .5"),
3107 Option("bluestore_2q_cache_kout_ratio", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3109 .set_description("2Q paper suggests .5"),
3111 Option("bluestore_cache_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3113 .set_description("Cache size (in bytes) for BlueStore")
3114 .set_long_description("This includes data and metadata cached by BlueStore as well as memory devoted to rocksdb's cache(s)."),
3116 Option("bluestore_cache_size_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3117 .set_default(1ull*1024*1024*1024)
3118 .set_description("Default bluestore_cache_size for rotational media"),
3120 Option("bluestore_cache_size_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3121 .set_default(3ull*1024*1024*1024)
3122 .set_description("Default bluestore_cache_size for non-rotational (solid state) media"),
3124 Option("bluestore_cache_meta_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3126 .set_description("Ratio of bluestore cache to devote to metadata"),
3128 Option("bluestore_cache_kv_ratio", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3130 .set_description("Ratio of bluestore cache to devote to kv database (rocksdb)"),
3132 Option("bluestore_cache_kv_max", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3133 .set_default(512*1024*1024)
3134 .set_description("Max memory (bytes) to devote to kv database (rocksdb)"),
3136 Option("bluestore_kvbackend", Option::TYPE_STR
, Option::LEVEL_DEV
)
3137 .set_default("rocksdb")
3139 .set_description("Key value database to use for bluestore"),
3141 Option("bluestore_allocator", Option::TYPE_STR
, Option::LEVEL_DEV
)
3142 .set_default("bitmap")
3144 .set_description(""),
3146 Option("bluestore_freelist_blocks_per_key", Option::TYPE_INT
, Option::LEVEL_DEV
)
3148 .set_description("Block (and bits) per database key"),
3150 Option("bluestore_bitmapallocator_blocks_per_zone", Option::TYPE_INT
, Option::LEVEL_DEV
)
3152 .set_description(""),
3154 Option("bluestore_bitmapallocator_span_size", Option::TYPE_INT
, Option::LEVEL_DEV
)
3156 .set_description(""),
3158 Option("bluestore_max_deferred_txc", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3160 .set_description("Max transactions with deferred writes that can accumulate before we force flush deferred writes"),
3162 Option("bluestore_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3163 .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")
3164 .set_description("Rocksdb options"),
3166 Option("bluestore_fsck_on_mount", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3168 .set_description("Run fsck at mount"),
3170 Option("bluestore_fsck_on_mount_deep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3172 .set_description("Run deep fsck at mount"),
3174 Option("bluestore_fsck_on_umount", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3176 .set_description("Run fsck at umount"),
3178 Option("bluestore_fsck_on_umount_deep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3180 .set_description("Run deep fsck at umount"),
3182 Option("bluestore_fsck_on_mkfs", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3184 .set_description("Run fsck after mkfs"),
3186 Option("bluestore_fsck_on_mkfs_deep", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3188 .set_description("Run deep fsck after mkfs"),
3190 Option("bluestore_sync_submit_transaction", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3192 .set_description("Try to submit metadata transaction to rocksdb in queuing thread context"),
3194 Option("bluestore_throttle_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3195 .set_default(64*1024*1024)
3197 .set_description("Maximum bytes in flight before we throttle IO submission"),
3199 Option("bluestore_throttle_deferred_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3200 .set_default(128*1024*1024)
3202 .set_description("Maximum bytes for deferred writes before we throttle IO submission"),
3204 Option("bluestore_throttle_cost_per_io", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3207 .set_description("Overhead added to transaction cost (in bytes) for each IO"),
3209 Option("bluestore_throttle_cost_per_io_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3210 .set_default(670000)
3212 .set_description("Default bluestore_throttle_cost_per_io for rotational media"),
3214 Option("bluestore_throttle_cost_per_io_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3217 .set_description("Default bluestore_throttle_cost_per_io for non-rotation (solid state) media"),
3220 Option("bluestore_deferred_batch_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3223 .set_description("Max number of deferred writes before we flush the deferred write queue"),
3225 Option("bluestore_deferred_batch_ops_hdd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3228 .set_description("Default bluestore_deferred_batch_ops for rotational media"),
3230 Option("bluestore_deferred_batch_ops_ssd", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3233 .set_description("Default bluestore_deferred_batch_ops for non-rotational (solid state) media"),
3235 Option("bluestore_nid_prealloc", Option::TYPE_INT
, Option::LEVEL_DEV
)
3237 .set_description("Number of unique object ids to preallocate at a time"),
3239 Option("bluestore_blobid_prealloc", Option::TYPE_UINT
, Option::LEVEL_DEV
)
3241 .set_description("Number of unique blob ids to preallocate at a time"),
3243 Option("bluestore_clone_cow", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3246 .set_description("Use copy-on-write when cloning objects (versus reading and rewriting them at clone time)"),
3248 Option("bluestore_default_buffered_read", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3251 .set_description("Cache read results by default (unless hinted NOCACHE or WONTNEED)"),
3253 Option("bluestore_default_buffered_write", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3256 .set_description("Cache writes by default (unless hinted NOCACHE or WONTNEED)"),
3258 Option("bluestore_debug_misc", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3260 .set_description(""),
3262 Option("bluestore_debug_no_reuse_blocks", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3264 .set_description(""),
3266 Option("bluestore_debug_small_allocations", Option::TYPE_INT
, Option::LEVEL_DEV
)
3268 .set_description(""),
3270 Option("bluestore_debug_freelist", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3272 .set_description(""),
3274 Option("bluestore_debug_prefill", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3276 .set_description("simulate fragmentation"),
3278 Option("bluestore_debug_prefragment_max", Option::TYPE_INT
, Option::LEVEL_DEV
)
3279 .set_default(1048576)
3280 .set_description(""),
3282 Option("bluestore_debug_inject_read_err", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3284 .set_description(""),
3286 Option("bluestore_debug_randomize_serial_transaction", Option::TYPE_INT
, Option::LEVEL_DEV
)
3288 .set_description(""),
3290 Option("bluestore_debug_omit_block_device_write", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3292 .set_description(""),
3294 Option("bluestore_debug_fsck_abort", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3296 .set_description(""),
3298 Option("bluestore_debug_omit_kv_commit", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3300 .set_description(""),
3302 Option("bluestore_debug_permit_any_bdev_label", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3304 .set_description(""),
3306 Option("bluestore_shard_finishers", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3308 .set_description(""),
3310 Option("bluestore_debug_random_read_err", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3312 .set_description(""),
3314 // -----------------------------------------
3317 Option("kstore_max_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3319 .set_description(""),
3321 Option("kstore_max_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3322 .set_default(64*1024*1024)
3323 .set_description(""),
3325 Option("kstore_backend", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3326 .set_default("rocksdb")
3327 .set_description(""),
3329 Option("kstore_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3330 .set_default("compression=kNoCompression")
3331 .set_description(""),
3333 Option("kstore_fsck_on_mount", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3335 .set_description(""),
3337 Option("kstore_fsck_on_mount_deep", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3339 .set_description(""),
3341 Option("kstore_nid_prealloc", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3343 .set_description(""),
3345 Option("kstore_sync_transaction", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3347 .set_description(""),
3349 Option("kstore_sync_submit_transaction", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3351 .set_description(""),
3353 Option("kstore_onode_map_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3355 .set_description(""),
3357 Option("kstore_default_stripe_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3359 .set_description(""),
3361 // ---------------------
3364 Option("filestore_rocksdb_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3366 .set_description(""),
3368 Option("filestore_omap_backend", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3369 .set_default("rocksdb")
3370 .set_description(""),
3372 Option("filestore_omap_backend_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3374 .set_description(""),
3376 Option("filestore_wbthrottle_enable", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3378 .set_description(""),
3380 Option("filestore_wbthrottle_btrfs_bytes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3381 .set_default(41943040)
3382 .set_description(""),
3384 Option("filestore_wbthrottle_btrfs_bytes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3385 .set_default(419430400)
3386 .set_description(""),
3388 Option("filestore_wbthrottle_btrfs_ios_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3390 .set_description(""),
3392 Option("filestore_wbthrottle_btrfs_ios_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3394 .set_description(""),
3396 Option("filestore_wbthrottle_btrfs_inodes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3398 .set_description(""),
3400 Option("filestore_wbthrottle_xfs_bytes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3401 .set_default(41943040)
3402 .set_description(""),
3404 Option("filestore_wbthrottle_xfs_bytes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3405 .set_default(419430400)
3406 .set_description(""),
3408 Option("filestore_wbthrottle_xfs_ios_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3410 .set_description(""),
3412 Option("filestore_wbthrottle_xfs_ios_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3414 .set_description(""),
3416 Option("filestore_wbthrottle_xfs_inodes_start_flusher", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3418 .set_description(""),
3420 Option("filestore_wbthrottle_btrfs_inodes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3422 .set_description(""),
3424 Option("filestore_wbthrottle_xfs_inodes_hard_limit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3426 .set_description(""),
3428 Option("filestore_odsync_write", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3430 .set_description(""),
3432 Option("filestore_index_retry_probability", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3434 .set_description(""),
3436 Option("filestore_debug_inject_read_err", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3438 .set_description(""),
3440 Option("filestore_debug_random_read_err", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
3442 .set_description(""),
3444 Option("filestore_debug_omap_check", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3446 .set_description(""),
3448 Option("filestore_omap_header_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3450 .set_description(""),
3452 Option("filestore_max_inline_xattr_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3454 .set_description(""),
3456 Option("filestore_max_inline_xattr_size_xfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3458 .set_description(""),
3460 Option("filestore_max_inline_xattr_size_btrfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3462 .set_description(""),
3464 Option("filestore_max_inline_xattr_size_other", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3466 .set_description(""),
3468 Option("filestore_max_inline_xattrs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3470 .set_description(""),
3472 Option("filestore_max_inline_xattrs_xfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3474 .set_description(""),
3476 Option("filestore_max_inline_xattrs_btrfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3478 .set_description(""),
3480 Option("filestore_max_inline_xattrs_other", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3482 .set_description(""),
3484 Option("filestore_max_xattr_value_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3486 .set_description(""),
3488 Option("filestore_max_xattr_value_size_xfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3489 .set_default(64<<10)
3490 .set_description(""),
3492 Option("filestore_max_xattr_value_size_btrfs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3493 .set_default(64<<10)
3494 .set_description(""),
3496 Option("filestore_max_xattr_value_size_other", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3498 .set_description(""),
3500 Option("filestore_sloppy_crc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3502 .set_description(""),
3504 Option("filestore_sloppy_crc_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3506 .set_description(""),
3508 Option("filestore_max_alloc_hint_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3509 .set_default(1ULL << 20)
3510 .set_description(""),
3512 Option("filestore_max_sync_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3514 .set_description(""),
3516 Option("filestore_min_sync_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3518 .set_description(""),
3520 Option("filestore_btrfs_snap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3522 .set_description(""),
3524 Option("filestore_btrfs_clone_range", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3526 .set_description(""),
3528 Option("filestore_zfs_snap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3530 .set_description(""),
3532 Option("filestore_fsync_flushes_journal_data", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3534 .set_description(""),
3536 Option("filestore_fiemap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3538 .set_description(""),
3540 Option("filestore_punch_hole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3542 .set_description(""),
3544 Option("filestore_seek_data_hole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3546 .set_description(""),
3548 Option("filestore_splice", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3550 .set_description(""),
3552 Option("filestore_fadvise", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3554 .set_description(""),
3556 Option("filestore_collect_device_partition_information", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3558 .set_description(""),
3560 Option("filestore_xfs_extsize", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3562 .set_description(""),
3564 Option("filestore_journal_parallel", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3566 .set_description(""),
3568 Option("filestore_journal_writeahead", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3570 .set_description(""),
3572 Option("filestore_journal_trailing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3574 .set_description(""),
3576 Option("filestore_queue_max_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3578 .set_description(""),
3580 Option("filestore_queue_max_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3581 .set_default(100 << 20)
3582 .set_description(""),
3584 Option("filestore_caller_concurrency", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3586 .set_description(""),
3588 Option("filestore_expected_throughput_bytes", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3589 .set_default(200 << 20)
3590 .set_description(""),
3592 Option("filestore_expected_throughput_ops", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3594 .set_description(""),
3596 Option("filestore_queue_max_delay_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3598 .set_description(""),
3600 Option("filestore_queue_high_delay_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3602 .set_description(""),
3604 Option("filestore_queue_low_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3606 .set_description(""),
3608 Option("filestore_queue_high_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3610 .set_description(""),
3612 Option("filestore_op_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3614 .set_description(""),
3616 Option("filestore_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3618 .set_description(""),
3620 Option("filestore_op_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3622 .set_description(""),
3624 Option("filestore_commit_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3626 .set_description(""),
3628 Option("filestore_fiemap_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3630 .set_description(""),
3632 Option("filestore_merge_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3634 .set_description(""),
3636 Option("filestore_split_multiple", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3638 .set_description(""),
3640 Option("filestore_split_rand_factor", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3642 .set_description(""),
3644 Option("filestore_update_to", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3646 .set_description(""),
3648 Option("filestore_blackhole", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3650 .set_description(""),
3652 Option("filestore_fd_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3654 .set_description(""),
3656 Option("filestore_fd_cache_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3658 .set_description(""),
3660 Option("filestore_ondisk_finisher_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3662 .set_description(""),
3664 Option("filestore_apply_finisher_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3666 .set_description(""),
3668 Option("filestore_dump_file", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3670 .set_description(""),
3672 Option("filestore_kill_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
3674 .set_description(""),
3676 Option("filestore_inject_stall", Option::TYPE_INT
, Option::LEVEL_DEV
)
3678 .set_description(""),
3680 Option("filestore_fail_eio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3682 .set_description(""),
3684 Option("filestore_debug_verify_split", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3686 .set_description(""),
3688 Option("journal_dio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3690 .set_description(""),
3692 Option("journal_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3694 .set_description(""),
3696 Option("journal_force_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3698 .set_description(""),
3700 Option("journal_block_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3702 .set_description(""),
3704 Option("journal_max_corrupt_search", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3705 .set_default(10<<20)
3706 .set_description(""),
3708 Option("journal_block_align", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3710 .set_description(""),
3712 Option("journal_write_header_frequency", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3714 .set_description(""),
3716 Option("journal_max_write_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3717 .set_default(10 << 20)
3718 .set_description(""),
3720 Option("journal_max_write_entries", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3722 .set_description(""),
3724 Option("journal_throttle_low_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3726 .set_description(""),
3728 Option("journal_throttle_high_threshhold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3730 .set_description(""),
3732 Option("journal_throttle_high_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3734 .set_description(""),
3736 Option("journal_throttle_max_multiple", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3738 .set_description(""),
3740 Option("journal_align_min_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3741 .set_default(64 << 10)
3742 .set_description(""),
3744 Option("journal_replay_from", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3746 .set_description(""),
3748 Option("journal_zero_on_create", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3750 .set_description(""),
3752 Option("journal_ignore_corruption", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3754 .set_description(""),
3756 Option("journal_discard", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3758 .set_description(""),
3760 Option("fio_dir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3761 .set_default("/tmp/fio")
3762 .set_description(""),
3764 Option("rados_mon_op_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3766 .set_description(""),
3768 Option("rados_osd_op_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3770 .set_description(""),
3772 Option("rados_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3774 .set_description(""),
3776 Option("nss_db_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3778 .set_description(""),
3780 Option("mgr_module_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3781 .set_default(CEPH_PKGLIBDIR
"/mgr")
3782 .set_description(""),
3784 Option("mgr_initial_modules", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3785 .set_default("restful status")
3786 .set_description(""),
3788 Option("mgr_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3789 .set_default("/var/lib/ceph/mgr/$cluster-$id")
3790 .set_description(""),
3792 Option("mgr_tick_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3794 .set_description(""),
3796 Option("mgr_stats_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3798 .set_description(""),
3800 Option("mgr_client_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3801 .set_default(128*1048576)
3802 .set_description(""),
3804 Option("mgr_client_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3806 .set_description(""),
3808 Option("mgr_osd_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3809 .set_default(512*1048576)
3810 .set_description(""),
3812 Option("mgr_osd_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3814 .set_description(""),
3816 Option("mgr_mds_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3817 .set_default(128*1048576)
3818 .set_description(""),
3820 Option("mgr_mds_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3822 .set_description(""),
3824 Option("mgr_mon_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3825 .set_default(128*1048576)
3826 .set_description(""),
3828 Option("mgr_mon_messages", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3830 .set_description(""),
3832 Option("mgr_connect_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3834 .set_description(""),
3836 Option("mgr_service_beacon_grace", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
3838 .set_description(""),
3840 Option("mon_mgr_digest_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3842 .set_description(""),
3844 Option("mon_mgr_beacon_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3846 .set_description(""),
3848 Option("mon_mgr_inactive_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3850 .set_description(""),
3852 Option("mon_mgr_mkfs_grace", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3854 .set_description(""),
3856 Option("mutex_perf_counter", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3858 .set_description(""),
3860 Option("throttler_perf_counter", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3862 .set_description(""),
3864 Option("event_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3866 .set_description(""),
3868 Option("internal_safe_to_start_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3870 .set_description(""),
3872 Option("debug_deliberately_leak_memory", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
3874 .set_description(""),
3877 std::vector
<Option
> rgw_options
= {
3878 Option("rgw_acl_grants_max_num", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3880 .set_description(""),
3882 Option("rgw_max_chunk_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3883 .set_default(4 * 1024 * 1024)
3884 .set_description(""),
3886 Option("rgw_put_obj_min_window_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3887 .set_default(16 * 1024 * 1024)
3888 .set_description(""),
3890 Option("rgw_put_obj_max_window_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3891 .set_default(64 * 1024 * 1024)
3892 .set_description(""),
3894 Option("rgw_max_put_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3895 .set_default(5ULL*1024*1024*1024)
3896 .set_description(""),
3898 Option("rgw_max_put_param_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3899 .set_default(1 * 1024 * 1024)
3900 .set_description(""),
3902 Option("rgw_override_bucket_index_max_shards", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3904 .set_description(""),
3906 Option("rgw_bucket_index_max_aio", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
3908 .set_description(""),
3910 Option("rgw_enable_quota_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3912 .set_description(""),
3914 Option("rgw_enable_gc_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3916 .set_description(""),
3918 Option("rgw_enable_lc_threads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3920 .set_description(""),
3922 Option("rgw_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3923 .set_default("/var/lib/ceph/radosgw/$cluster-$id")
3924 .set_description(""),
3926 Option("rgw_enable_apis", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3927 .set_default("s3, s3website, swift, swift_auth, admin")
3928 .set_description(""),
3930 Option("rgw_cache_enabled", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3932 .set_description(""),
3934 Option("rgw_cache_lru_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3936 .set_description(""),
3938 Option("rgw_socket_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3940 .set_description(""),
3942 Option("rgw_host", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3944 .set_description(""),
3946 Option("rgw_port", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3948 .set_description(""),
3950 Option("rgw_dns_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3952 .set_description(""),
3954 Option("rgw_dns_s3website_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3956 .set_description(""),
3958 Option("rgw_content_length_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
3960 .set_description(""),
3962 Option("rgw_lifecycle_work_time", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3963 .set_default("00:00-06:00")
3964 .set_description(""),
3966 Option("rgw_lc_lock_max_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3968 .set_description(""),
3970 Option("rgw_lc_max_objs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
3972 .set_description(""),
3974 Option("rgw_lc_debug_interval", Option::TYPE_INT
, Option::LEVEL_DEV
)
3976 .set_description(""),
3978 Option("rgw_script_uri", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3980 .set_description(""),
3982 Option("rgw_request_uri", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3984 .set_description(""),
3986 Option("rgw_swift_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3988 .set_description(""),
3990 Option("rgw_swift_url_prefix", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3991 .set_default("swift")
3992 .set_description(""),
3994 Option("rgw_swift_auth_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3996 .set_description(""),
3998 Option("rgw_swift_auth_entry", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
3999 .set_default("auth")
4000 .set_description(""),
4002 Option("rgw_swift_tenant_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4004 .set_description(""),
4006 Option("rgw_swift_account_in_url", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4008 .set_description(""),
4010 Option("rgw_swift_enforce_content_length", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4012 .set_description(""),
4014 Option("rgw_keystone_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4016 .set_description(""),
4018 Option("rgw_keystone_admin_token", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4020 .set_description(""),
4022 Option("rgw_keystone_admin_user", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4024 .set_description(""),
4026 Option("rgw_keystone_admin_password", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4028 .set_description(""),
4030 Option("rgw_keystone_admin_tenant", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4032 .set_description(""),
4034 Option("rgw_keystone_admin_project", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4036 .set_description(""),
4038 Option("rgw_keystone_admin_domain", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4040 .set_description(""),
4042 Option("rgw_keystone_barbican_user", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4044 .set_description(""),
4046 Option("rgw_keystone_barbican_password", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4048 .set_description(""),
4050 Option("rgw_keystone_barbican_tenant", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4052 .set_description(""),
4054 Option("rgw_keystone_barbican_project", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4056 .set_description(""),
4058 Option("rgw_keystone_barbican_domain", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4060 .set_description(""),
4062 Option("rgw_keystone_api_version", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4064 .set_description(""),
4066 Option("rgw_keystone_accepted_roles", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4067 .set_default("Member, admin")
4068 .set_description(""),
4070 Option("rgw_keystone_accepted_admin_roles", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4072 .set_description(""),
4074 Option("rgw_keystone_token_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4076 .set_description(""),
4078 Option("rgw_keystone_revocation_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4079 .set_default(15 * 60)
4080 .set_description(""),
4082 Option("rgw_keystone_verify_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4084 .set_description(""),
4086 Option("rgw_keystone_implicit_tenants", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4088 .set_description(""),
4090 Option("rgw_cross_domain_policy", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4091 .set_default("<allow-access-from domain=\"*\" secure=\"false\" />")
4092 .set_description(""),
4094 Option("rgw_healthcheck_disabling_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4096 .set_description(""),
4098 Option("rgw_s3_auth_use_rados", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4100 .set_description(""),
4102 Option("rgw_s3_auth_use_keystone", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4104 .set_description(""),
4106 Option("rgw_s3_auth_aws4_force_boto2_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4108 .set_description(""),
4110 Option("rgw_barbican_url", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4112 .set_description(""),
4114 Option("rgw_ldap_uri", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4115 .set_default("ldaps://<ldap.your.domain>")
4116 .set_description(""),
4118 Option("rgw_ldap_binddn", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4119 .set_default("uid=admin,cn=users,dc=example,dc=com")
4120 .set_description(""),
4122 Option("rgw_ldap_searchdn", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4123 .set_default("cn=users,cn=accounts,dc=example,dc=com")
4124 .set_description(""),
4126 Option("rgw_ldap_dnattr", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4128 .set_description(""),
4130 Option("rgw_ldap_secret", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4131 .set_default("/etc/openldap/secret")
4132 .set_description(""),
4134 Option("rgw_s3_auth_use_ldap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4136 .set_description(""),
4138 Option("rgw_ldap_searchfilter", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4140 .set_description(""),
4142 Option("rgw_admin_entry", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4143 .set_default("admin")
4144 .set_description(""),
4146 Option("rgw_enforce_swift_acls", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4148 .set_description(""),
4150 Option("rgw_swift_token_expiration", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4151 .set_default(24 * 3600)
4152 .set_description(""),
4154 Option("rgw_print_continue", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4156 .set_description(""),
4158 Option("rgw_print_prohibited_content_length", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4160 .set_description(""),
4162 Option("rgw_remote_addr_param", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4163 .set_default("REMOTE_ADDR")
4164 .set_description(""),
4166 Option("rgw_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4168 .set_description(""),
4170 Option("rgw_op_thread_suicide_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4172 .set_description(""),
4174 Option("rgw_thread_pool_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4176 .set_description(""),
4178 Option("rgw_num_control_oids", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4180 .set_description(""),
4182 Option("rgw_num_rados_handles", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4184 .set_description(""),
4186 Option("rgw_verify_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4188 .set_description(""),
4190 Option("rgw_nfs_lru_lanes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4192 .set_description(""),
4194 Option("rgw_nfs_lru_lane_hiwat", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4196 .set_description(""),
4198 Option("rgw_nfs_fhcache_partitions", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4200 .set_description(""),
4202 Option("rgw_nfs_fhcache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4204 .set_description(""),
4206 Option("rgw_nfs_namespace_expire_secs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4209 .set_description(""),
4211 Option("rgw_nfs_max_gc", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4214 .set_description(""),
4216 Option("rgw_nfs_write_completion_interval_s", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4218 .set_description(""),
4220 Option("rgw_zone", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4222 .set_description(""),
4224 Option("rgw_zone_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4225 .set_default(".rgw.root")
4226 .set_description(""),
4228 Option("rgw_default_zone_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4229 .set_default("default.zone")
4230 .set_description(""),
4232 Option("rgw_region", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4234 .set_description(""),
4236 Option("rgw_region_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4237 .set_default(".rgw.root")
4238 .set_description(""),
4240 Option("rgw_default_region_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4241 .set_default("default.region")
4242 .set_description(""),
4244 Option("rgw_zonegroup", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4246 .set_description(""),
4248 Option("rgw_zonegroup_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4249 .set_default(".rgw.root")
4250 .set_description(""),
4252 Option("rgw_default_zonegroup_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4253 .set_default("default.zonegroup")
4254 .set_description(""),
4256 Option("rgw_realm", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4258 .set_description(""),
4260 Option("rgw_realm_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4261 .set_default(".rgw.root")
4262 .set_description(""),
4264 Option("rgw_default_realm_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4265 .set_default("default.realm")
4266 .set_description(""),
4268 Option("rgw_period_root_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4269 .set_default(".rgw.root")
4270 .set_description(""),
4272 Option("rgw_period_latest_epoch_info_oid", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4273 .set_default(".latest_epoch")
4274 .set_description(""),
4276 Option("rgw_log_nonexistent_bucket", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4278 .set_description(""),
4280 Option("rgw_log_object_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4281 .set_default("%Y-%m-%d-%H-%i-%n")
4282 .set_description(""),
4284 Option("rgw_log_object_name_utc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4286 .set_description(""),
4288 Option("rgw_usage_max_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4290 .set_description(""),
4292 Option("rgw_usage_max_user_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4295 .set_description(""),
4297 Option("rgw_enable_ops_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4299 .set_description(""),
4301 Option("rgw_enable_usage_log", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4303 .set_description(""),
4305 Option("rgw_ops_log_rados", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4307 .set_description(""),
4309 Option("rgw_ops_log_socket_path", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4311 .set_description(""),
4313 Option("rgw_ops_log_data_backlog", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4314 .set_default(5 << 20)
4315 .set_description(""),
4317 Option("rgw_fcgi_socket_backlog", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4319 .set_description(""),
4321 Option("rgw_usage_log_flush_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4323 .set_description(""),
4325 Option("rgw_usage_log_tick_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4327 .set_description(""),
4329 Option("rgw_intent_log_object_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4330 .set_default("%Y-%m-%d-%i-%n")
4331 .set_description(""),
4333 Option("rgw_intent_log_object_name_utc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4335 .set_description(""),
4337 Option("rgw_init_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4339 .set_description(""),
4341 Option("rgw_mime_types_file", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4342 .set_default("/etc/mime.types")
4343 .set_description(""),
4345 Option("rgw_gc_max_objs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4347 .set_description(""),
4349 Option("rgw_gc_obj_min_wait", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4350 .set_default(2 * 3600)
4351 .set_description(""),
4353 Option("rgw_gc_processor_max_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4355 .set_description(""),
4357 Option("rgw_gc_processor_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4359 .set_description(""),
4361 Option("rgw_s3_success_create_obj_status", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4363 .set_description(""),
4365 Option("rgw_resolve_cname", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4367 .set_description(""),
4369 Option("rgw_obj_stripe_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4370 .set_default(4 << 20)
4371 .set_description(""),
4373 Option("rgw_extended_http_attrs", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4375 .set_description(""),
4377 Option("rgw_exit_timeout_secs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4379 .set_description(""),
4381 Option("rgw_get_obj_window_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4382 .set_default(16 << 20)
4383 .set_description(""),
4385 Option("rgw_get_obj_max_req_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4386 .set_default(4 << 20)
4387 .set_description(""),
4389 Option("rgw_relaxed_s3_bucket_names", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4391 .set_description(""),
4393 Option("rgw_defer_to_bucket_acls", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4395 .set_description(""),
4397 Option("rgw_list_buckets_max_chunk", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4399 .set_description(""),
4401 Option("rgw_md_log_max_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4403 .set_description(""),
4405 Option("rgw_num_zone_opstate_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4407 .set_description(""),
4409 Option("rgw_opstate_ratelimit_sec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4411 .set_description(""),
4413 Option("rgw_curl_wait_timeout_ms", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4415 .set_description(""),
4417 Option("rgw_copy_obj_progress", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4419 .set_description(""),
4421 Option("rgw_copy_obj_progress_every_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4422 .set_default(1024 * 1024)
4423 .set_description(""),
4425 Option("rgw_obj_tombstone_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4427 .set_description(""),
4429 Option("rgw_data_log_window", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4431 .set_description(""),
4433 Option("rgw_data_log_changes_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4435 .set_description(""),
4437 Option("rgw_data_log_num_shards", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4439 .set_description(""),
4441 Option("rgw_data_log_obj_prefix", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4442 .set_default("data_log")
4443 .set_description(""),
4445 Option("rgw_replica_log_obj_prefix", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4446 .set_default("replica_log")
4447 .set_description(""),
4449 Option("rgw_bucket_quota_ttl", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4451 .set_description(""),
4453 Option("rgw_bucket_quota_soft_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4455 .set_description(""),
4457 Option("rgw_bucket_quota_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4459 .set_description(""),
4461 Option("rgw_bucket_default_quota_max_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4463 .set_description(""),
4465 Option("rgw_bucket_default_quota_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4467 .set_description(""),
4469 Option("rgw_expose_bucket", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4471 .set_description(""),
4473 Option("rgw_frontends", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4474 .set_default("civetweb port=7480")
4475 .set_description(""),
4477 Option("rgw_user_quota_bucket_sync_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4479 .set_description(""),
4481 Option("rgw_user_quota_sync_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4482 .set_default(3600 * 24)
4483 .set_description(""),
4485 Option("rgw_user_quota_sync_idle_users", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4487 .set_description(""),
4489 Option("rgw_user_quota_sync_wait_time", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4490 .set_default(3600 * 24)
4491 .set_description(""),
4493 Option("rgw_user_default_quota_max_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4495 .set_description(""),
4497 Option("rgw_user_default_quota_max_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4499 .set_description(""),
4501 Option("rgw_multipart_min_part_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4502 .set_default(5 * 1024 * 1024)
4503 .set_description(""),
4505 Option("rgw_multipart_part_upload_limit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4507 .set_description(""),
4509 Option("rgw_max_slo_entries", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4511 .set_description(""),
4513 Option("rgw_olh_pending_timeout_sec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4515 .set_description(""),
4517 Option("rgw_user_max_buckets", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4519 .set_description(""),
4521 Option("rgw_objexp_gc_interval", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4522 .set_default(60 * 10)
4523 .set_description(""),
4525 Option("rgw_objexp_time_step", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4527 .set_description(""),
4529 Option("rgw_objexp_hints_num_shards", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4531 .set_description(""),
4533 Option("rgw_objexp_chunk_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4535 .set_description(""),
4537 Option("rgw_enable_static_website", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4539 .set_description(""),
4541 Option("rgw_log_http_headers", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4543 .set_description(""),
4545 Option("rgw_num_async_rados_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4547 .set_description(""),
4549 Option("rgw_md_notify_interval_msec", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4551 .set_description(""),
4553 Option("rgw_run_sync_thread", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4555 .set_description(""),
4557 Option("rgw_sync_lease_period", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4559 .set_description(""),
4561 Option("rgw_sync_log_trim_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4563 .set_description(""),
4565 Option("rgw_sync_data_inject_err_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
4567 .set_description(""),
4569 Option("rgw_sync_meta_inject_err_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
4571 .set_description(""),
4573 Option("rgw_period_push_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4575 .set_description(""),
4577 Option("rgw_period_push_interval_max", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4579 .set_description(""),
4581 Option("rgw_safe_max_objects_per_shard", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4582 .set_default(100*1024)
4583 .set_description(""),
4585 Option("rgw_shard_warning_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4587 .set_description(""),
4589 Option("rgw_swift_versioning_enabled", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4591 .set_description(""),
4593 Option("rgw_swift_custom_header", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4595 .set_description(""),
4597 Option("rgw_swift_need_stats", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4599 .set_description(""),
4601 Option("rgw_reshard_num_logs", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4603 .set_description(""),
4605 Option("rgw_reshard_bucket_lock_duration", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4607 .set_description(""),
4609 Option("rgw_crypt_require_ssl", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4611 .set_description(""),
4613 Option("rgw_crypt_default_encryption_key", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4615 .set_description(""),
4617 Option("rgw_crypt_s3_kms_encryption_keys", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4619 .set_description(""),
4621 Option("rgw_crypt_suppress_logs", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4623 .set_description(""),
4625 Option("rgw_list_bucket_min_readahead", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4627 .set_description(""),
4629 Option("rgw_rest_getusage_op_compat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4631 .set_description(""),
4633 Option("rgw_torrent_flag", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4635 .set_description(""),
4637 Option("rgw_torrent_tracker", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4639 .set_description(""),
4641 Option("rgw_torrent_createby", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4643 .set_description(""),
4645 Option("rgw_torrent_comment", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4647 .set_description(""),
4649 Option("rgw_torrent_encoding", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4651 .set_description(""),
4653 Option("rgw_torrent_origin", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4655 .set_description(""),
4657 Option("rgw_torrent_sha_unit", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4658 .set_default(512*1024)
4659 .set_description(""),
4661 Option("rgw_dynamic_resharding", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4663 .set_description(""),
4665 Option("rgw_max_objs_per_shard", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4666 .set_default(100000)
4667 .set_description(""),
4669 Option("rgw_reshard_thread_interval", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4670 .set_default(60 * 10)
4671 .set_description(""),
4674 std::vector
<Option
> rbd_options
= {
4675 Option("rbd_default_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4677 .set_description("")
4678 .set_validator([](std::string
*value
, std::string
*error_message
){
4679 boost::regex
pattern("^[^@/]+$");
4680 if (!boost::regex_match (*value
, pattern
)) {
4682 *error_message
= "invalid RBD default pool, resetting to 'rbd'";
4687 Option("rbd_default_data_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4689 .set_description("")
4690 .set_validator([](std::string
*value
, std::string
*error_message
){
4691 boost::regex
pattern("^[^@/]*$");
4692 if (!boost::regex_match (*value
, pattern
)) {
4694 *error_message
= "ignoring invalid RBD data pool";
4699 Option("rbd_default_features", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4700 .set_default("layering,exclusive-lock,object-map,fast-diff,deep-flatten")
4701 .set_description("")
4703 .set_validator([](std::string
*value
, std::string
*error_message
){
4704 static const std::map
<std::string
, uint64_t> FEATURE_MAP
= {
4705 {RBD_FEATURE_NAME_LAYERING
, RBD_FEATURE_LAYERING
},
4706 {RBD_FEATURE_NAME_STRIPINGV2
, RBD_FEATURE_STRIPINGV2
},
4707 {RBD_FEATURE_NAME_EXCLUSIVE_LOCK
, RBD_FEATURE_EXCLUSIVE_LOCK
},
4708 {RBD_FEATURE_NAME_OBJECT_MAP
, RBD_FEATURE_OBJECT_MAP
},
4709 {RBD_FEATURE_NAME_FAST_DIFF
, RBD_FEATURE_FAST_DIFF
},
4710 {RBD_FEATURE_NAME_DEEP_FLATTEN
, RBD_FEATURE_DEEP_FLATTEN
},
4711 {RBD_FEATURE_NAME_JOURNALING
, RBD_FEATURE_JOURNALING
},
4712 {RBD_FEATURE_NAME_DATA_POOL
, RBD_FEATURE_DATA_POOL
},
4714 static_assert((RBD_FEATURE_DATA_POOL
<< 1) > RBD_FEATURES_ALL
,
4715 "new RBD feature added");
4717 // convert user-friendly comma delimited feature name list to a bitmask
4718 // that is used by the librbd API
4719 uint64_t features
= 0;
4720 error_message
->clear();
4723 features
= boost::lexical_cast
<decltype(features
)>(*value
);
4725 uint64_t unsupported_features
= (features
& ~RBD_FEATURES_ALL
);
4726 if (unsupported_features
!= 0ull) {
4727 features
&= RBD_FEATURES_ALL
;
4729 std::stringstream ss
;
4730 ss
<< "ignoring unknown feature mask 0x"
4731 << std::hex
<< unsupported_features
;
4732 *error_message
= ss
.str();
4734 } catch (const boost::bad_lexical_cast
& ) {
4736 std::vector
<std::string
> feature_names
;
4737 boost::split(feature_names
, *value
, boost::is_any_of(","));
4738 for (auto feature_name
: feature_names
) {
4739 boost::trim(feature_name
);
4740 auto feature_it
= FEATURE_MAP
.find(feature_name
);
4741 if (feature_it
!= FEATURE_MAP
.end()) {
4742 features
+= feature_it
->second
;
4744 if (!error_message
->empty()) {
4745 *error_message
+= ", ";
4747 *error_message
+= "ignoring unknown feature " + feature_name
;
4752 if (features
== 0 && r
== -EINVAL
) {
4753 features
= RBD_FEATURES_DEFAULT
;
4756 *value
= stringify(features
);
4760 Option("rbd_op_threads", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4762 .set_description(""),
4764 Option("rbd_op_thread_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4766 .set_description(""),
4768 Option("rbd_non_blocking_aio", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4770 .set_description(""),
4772 Option("rbd_cache", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4774 .set_description(""),
4776 Option("rbd_cache_writethrough_until_flush", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4778 .set_description(""),
4780 Option("rbd_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4781 .set_default(32<<20)
4782 .set_description(""),
4784 Option("rbd_cache_max_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4785 .set_default(24<<20)
4786 .set_description(""),
4788 Option("rbd_cache_target_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4789 .set_default(16<<20)
4790 .set_description(""),
4792 Option("rbd_cache_max_dirty_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4794 .set_description(""),
4796 Option("rbd_cache_max_dirty_object", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4798 .set_description(""),
4800 Option("rbd_cache_block_writes_upfront", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4802 .set_description(""),
4804 Option("rbd_concurrent_management_ops", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4807 .set_description(""),
4809 Option("rbd_balance_snap_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4811 .set_description(""),
4813 Option("rbd_localize_snap_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4815 .set_description(""),
4817 Option("rbd_balance_parent_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4819 .set_description(""),
4821 Option("rbd_localize_parent_reads", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4823 .set_description(""),
4825 Option("rbd_readahead_trigger_requests", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4827 .set_description(""),
4829 Option("rbd_readahead_max_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4830 .set_default(512 * 1024)
4831 .set_description(""),
4833 Option("rbd_readahead_disable_after_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4834 .set_default(50 * 1024 * 1024)
4835 .set_description(""),
4837 Option("rbd_clone_copy_on_read", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4839 .set_description(""),
4841 Option("rbd_blacklist_on_break_lock", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4843 .set_description(""),
4845 Option("rbd_blacklist_expire_seconds", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4847 .set_description(""),
4849 Option("rbd_request_timed_out_seconds", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4851 .set_description(""),
4853 Option("rbd_skip_partial_discard", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4855 .set_description(""),
4857 Option("rbd_enable_alloc_hint", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4859 .set_description(""),
4861 Option("rbd_tracing", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4863 .set_description(""),
4865 Option("rbd_blkin_trace_all", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4867 .set_description(""),
4869 Option("rbd_validate_pool", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4871 .set_description(""),
4873 Option("rbd_validate_names", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4875 .set_description(""),
4877 Option("rbd_auto_exclusive_lock_until_manual_request", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4879 .set_description(""),
4881 Option("rbd_mirroring_resync_after_disconnect", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
4883 .set_description(""),
4885 Option("rbd_mirroring_replay_delay", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4887 .set_description(""),
4889 Option("rbd_default_format", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4891 .set_description(""),
4893 Option("rbd_default_order", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4895 .set_description(""),
4897 Option("rbd_default_stripe_count", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4899 .set_description(""),
4901 Option("rbd_default_stripe_unit", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4903 .set_description(""),
4905 Option("rbd_default_map_options", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4907 .set_description(""),
4909 Option("rbd_journal_order", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4911 .set_description(""),
4913 Option("rbd_journal_splay_width", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4915 .set_description(""),
4917 Option("rbd_journal_commit_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4919 .set_description(""),
4921 Option("rbd_journal_object_flush_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4923 .set_description(""),
4925 Option("rbd_journal_object_flush_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4927 .set_description(""),
4929 Option("rbd_journal_object_flush_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4931 .set_description(""),
4933 Option("rbd_journal_pool", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4935 .set_description(""),
4937 Option("rbd_journal_max_payload_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4939 .set_description(""),
4941 Option("rbd_journal_max_concurrent_object_sets", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4943 .set_description(""),
4945 Option("rbd_mirror_journal_commit_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4947 .set_description(""),
4949 Option("rbd_mirror_journal_poll_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4951 .set_description(""),
4953 Option("rbd_mirror_journal_max_fetch_bytes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4955 .set_description(""),
4957 Option("rbd_mirror_sync_point_update_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4959 .set_description(""),
4961 Option("rbd_mirror_concurrent_image_syncs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4963 .set_description(""),
4965 Option("rbd_mirror_pool_replayers_refresh_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4967 .set_description(""),
4969 Option("rbd_mirror_delete_retry_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
4971 .set_description(""),
4973 Option("rbd_mirror_image_state_check_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4976 .set_description(""),
4978 Option("rbd_mirror_leader_heartbeat_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4981 .set_description(""),
4983 Option("rbd_mirror_leader_max_missed_heartbeats", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4985 .set_description(""),
4987 Option("rbd_mirror_leader_max_acquire_attempts_before_break", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
4989 .set_description(""),
4992 std::vector
<Option
> mds_options
= {
4993 Option("mds_data", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
4994 .set_default("/var/lib/ceph/mds/$cluster-$id")
4995 .set_description(""),
4997 Option("mds_max_file_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
4998 .set_default(1ULL << 40)
4999 .set_description(""),
5001 Option("mds_max_xattr_pairs_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5002 .set_default(64 << 10)
5003 .set_description(""),
5005 Option("mds_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5006 .set_default(100000)
5007 .set_description(""),
5009 Option("mds_cache_mid", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5011 .set_description(""),
5013 Option("mds_max_file_recover", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5015 .set_description(""),
5017 Option("mds_dir_max_commit_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5019 .set_description(""),
5021 Option("mds_dir_keys_per_op", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5023 .set_description(""),
5025 Option("mds_decay_halflife", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5027 .set_description(""),
5029 Option("mds_beacon_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5031 .set_description(""),
5033 Option("mds_beacon_grace", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5035 .set_description(""),
5037 Option("mds_enforce_unique_name", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5039 .set_description(""),
5041 Option("mds_blacklist_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5042 .set_default(24.0*60.0)
5043 .set_description(""),
5045 Option("mds_session_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5047 .set_description(""),
5049 Option("mds_session_blacklist_on_timeout", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5051 .set_description(""),
5053 Option("mds_session_blacklist_on_evict", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5055 .set_description(""),
5057 Option("mds_sessionmap_keys_per_op", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5059 .set_description(""),
5061 Option("mds_revoke_cap_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5063 .set_description(""),
5065 Option("mds_recall_state_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5067 .set_description(""),
5069 Option("mds_freeze_tree_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5071 .set_description(""),
5073 Option("mds_session_autoclose", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5075 .set_description(""),
5077 Option("mds_health_summarize_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5079 .set_description(""),
5081 Option("mds_health_cache_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5083 .set_description(""),
5085 Option("mds_reconnect_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5087 .set_description(""),
5089 Option("mds_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5091 .set_description(""),
5093 Option("mds_dirstat_min_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5095 .set_description(""),
5097 Option("mds_scatter_nudge_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5099 .set_description(""),
5101 Option("mds_client_prealloc_inos", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5103 .set_description(""),
5105 Option("mds_early_reply", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5107 .set_description(""),
5109 Option("mds_default_dir_hash", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5110 .set_default(CEPH_STR_HASH_RJENKINS
)
5111 .set_description(""),
5113 Option("mds_log_pause", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5115 .set_description(""),
5117 Option("mds_log_skip_corrupt_events", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5119 .set_description(""),
5121 Option("mds_log_max_events", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5123 .set_description(""),
5125 Option("mds_log_events_per_segment", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5127 .set_description(""),
5129 Option("mds_log_segment_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5131 .set_description(""),
5133 Option("mds_log_max_segments", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5135 .set_description(""),
5137 Option("mds_log_max_expiring", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5139 .set_description(""),
5141 Option("mds_bal_export_pin", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5143 .set_description(""),
5145 Option("mds_bal_sample_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5147 .set_description(""),
5149 Option("mds_bal_replicate_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5151 .set_description(""),
5153 Option("mds_bal_unreplicate_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5155 .set_description(""),
5157 Option("mds_bal_frag", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5159 .set_description(""),
5161 Option("mds_bal_split_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5163 .set_description(""),
5165 Option("mds_bal_split_rd", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5167 .set_description(""),
5169 Option("mds_bal_split_wr", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5171 .set_description(""),
5173 Option("mds_bal_split_bits", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5175 .set_description(""),
5177 Option("mds_bal_merge_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5179 .set_description(""),
5181 Option("mds_bal_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5183 .set_description(""),
5185 Option("mds_bal_fragment_interval", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5187 .set_description(""),
5189 Option("mds_bal_fragment_size_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5190 .set_default(10000*10)
5191 .set_description(""),
5193 Option("mds_bal_fragment_fast_factor", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5195 .set_description(""),
5197 Option("mds_bal_idle_threshold", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5199 .set_description(""),
5201 Option("mds_bal_max", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5203 .set_description(""),
5205 Option("mds_bal_max_until", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5207 .set_description(""),
5209 Option("mds_bal_mode", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5211 .set_description(""),
5213 Option("mds_bal_min_rebalance", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5215 .set_description(""),
5217 Option("mds_bal_min_start", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5219 .set_description(""),
5221 Option("mds_bal_need_min", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5223 .set_description(""),
5225 Option("mds_bal_need_max", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5227 .set_description(""),
5229 Option("mds_bal_midchunk", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5231 .set_description(""),
5233 Option("mds_bal_minchunk", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5235 .set_description(""),
5237 Option("mds_bal_target_decay", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5239 .set_description(""),
5241 Option("mds_replay_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5243 .set_description(""),
5245 Option("mds_shutdown_check", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5247 .set_description(""),
5249 Option("mds_thrash_exports", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5251 .set_description(""),
5253 Option("mds_thrash_fragments", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5255 .set_description(""),
5257 Option("mds_dump_cache_on_map", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5259 .set_description(""),
5261 Option("mds_dump_cache_after_rejoin", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5263 .set_description(""),
5265 Option("mds_verify_scatter", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5267 .set_description(""),
5269 Option("mds_debug_scatterstat", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5271 .set_description(""),
5273 Option("mds_debug_frag", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5275 .set_description(""),
5277 Option("mds_debug_auth_pins", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5279 .set_description(""),
5281 Option("mds_debug_subtrees", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5283 .set_description(""),
5285 Option("mds_kill_mdstable_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5287 .set_description(""),
5289 Option("mds_kill_export_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5291 .set_description(""),
5293 Option("mds_kill_import_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5295 .set_description(""),
5297 Option("mds_kill_link_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5299 .set_description(""),
5301 Option("mds_kill_rename_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5303 .set_description(""),
5305 Option("mds_kill_openc_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5307 .set_description(""),
5309 Option("mds_kill_journal_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5311 .set_description(""),
5313 Option("mds_kill_journal_expire_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5315 .set_description(""),
5317 Option("mds_kill_journal_replay_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5319 .set_description(""),
5321 Option("mds_journal_format", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5323 .set_description(""),
5325 Option("mds_kill_create_at", Option::TYPE_INT
, Option::LEVEL_DEV
)
5327 .set_description(""),
5329 Option("mds_inject_traceless_reply_probability", Option::TYPE_FLOAT
, Option::LEVEL_DEV
)
5331 .set_description(""),
5333 Option("mds_wipe_sessions", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5335 .set_description(""),
5337 Option("mds_wipe_ino_prealloc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5339 .set_description(""),
5341 Option("mds_skip_ino", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5343 .set_description(""),
5345 Option("mds_standby_for_name", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5347 .set_description(""),
5349 Option("mds_standby_for_rank", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5351 .set_description(""),
5353 Option("mds_standby_for_fscid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5355 .set_description(""),
5357 Option("mds_standby_replay", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5359 .set_description(""),
5361 Option("mds_enable_op_tracker", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5363 .set_description(""),
5365 Option("mds_op_history_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5367 .set_description(""),
5369 Option("mds_op_history_duration", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5371 .set_description(""),
5373 Option("mds_op_complaint_time", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5375 .set_description(""),
5377 Option("mds_op_log_threshold", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5379 .set_description(""),
5381 Option("mds_snap_min_uid", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5383 .set_description(""),
5385 Option("mds_snap_max_uid", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5386 .set_default(4294967294)
5387 .set_description(""),
5389 Option("mds_snap_rstat", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5391 .set_description(""),
5393 Option("mds_verify_backtrace", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5395 .set_description(""),
5397 Option("mds_max_completed_flushes", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5398 .set_default(100000)
5399 .set_description(""),
5401 Option("mds_max_completed_requests", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5402 .set_default(100000)
5403 .set_description(""),
5405 Option("mds_action_on_write_error", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5407 .set_description(""),
5409 Option("mds_mon_shutdown_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5411 .set_description(""),
5413 Option("mds_max_purge_files", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5415 .set_description(""),
5417 Option("mds_max_purge_ops", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5419 .set_description(""),
5421 Option("mds_max_purge_ops_per_pg", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5423 .set_description(""),
5425 Option("mds_purge_queue_busy_flush_period", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5427 .set_description(""),
5429 Option("mds_root_ino_uid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5431 .set_description(""),
5433 Option("mds_root_ino_gid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5435 .set_description(""),
5437 Option("mds_max_scrub_ops_in_progress", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5439 .set_description(""),
5441 Option("mds_damage_table_max_entries", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5443 .set_description(""),
5445 Option("mds_client_writeable_range_max_inc_objs", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5447 .set_description(""),
5450 std::vector
<Option
> mds_client_options
= {
5451 Option("client_cache_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5453 .set_description(""),
5455 Option("client_cache_mid", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5457 .set_description(""),
5459 Option("client_use_random_mds", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5461 .set_description(""),
5463 Option("client_mount_timeout", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5465 .set_description(""),
5467 Option("client_tick_interval", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5469 .set_description(""),
5471 Option("client_trace", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5473 .set_description(""),
5475 Option("client_readahead_min", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5476 .set_default(128*1024)
5477 .set_description(""),
5479 Option("client_readahead_max_bytes", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5481 .set_description(""),
5483 Option("client_readahead_max_periods", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5485 .set_description(""),
5487 Option("client_reconnect_stale", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5489 .set_description(""),
5491 Option("client_snapdir", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5492 .set_default(".snap")
5493 .set_description(""),
5495 Option("client_mountpoint", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5497 .set_description(""),
5499 Option("client_mount_uid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5501 .set_description(""),
5503 Option("client_mount_gid", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5505 .set_description(""),
5507 Option("client_notify_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5509 .set_description(""),
5511 Option("osd_client_watch_timeout", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5513 .set_description(""),
5515 Option("client_caps_release_delay", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5517 .set_description(""),
5519 Option("client_quota_df", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5521 .set_description(""),
5523 Option("client_oc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5525 .set_description(""),
5527 Option("client_oc_size", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5528 .set_default(1024*1024* 200)
5529 .set_description(""),
5531 Option("client_oc_max_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5532 .set_default(1024*1024* 100)
5533 .set_description(""),
5535 Option("client_oc_target_dirty", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5536 .set_default(1024*1024* 8)
5537 .set_description(""),
5539 Option("client_oc_max_dirty_age", Option::TYPE_FLOAT
, Option::LEVEL_ADVANCED
)
5541 .set_description(""),
5543 Option("client_oc_max_objects", Option::TYPE_INT
, Option::LEVEL_ADVANCED
)
5545 .set_description(""),
5547 Option("client_debug_getattr_caps", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5549 .set_description(""),
5551 Option("client_debug_force_sync_read", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5553 .set_description(""),
5555 Option("client_debug_inject_tick_delay", Option::TYPE_INT
, Option::LEVEL_DEV
)
5557 .set_description(""),
5559 Option("client_max_inline_size", Option::TYPE_UINT
, Option::LEVEL_ADVANCED
)
5561 .set_description(""),
5563 Option("client_inject_release_failure", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5565 .set_description(""),
5567 Option("client_inject_fixed_oldest_tid", Option::TYPE_BOOL
, Option::LEVEL_DEV
)
5569 .set_description(""),
5571 Option("client_metadata", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5573 .set_description(""),
5575 Option("client_acl_type", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5577 .set_description(""),
5579 Option("client_permissions", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5581 .set_description(""),
5583 Option("client_dirsize_rbytes", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5585 .set_description(""),
5587 Option("fuse_use_invalidate_cb", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5589 .set_description(""),
5591 Option("fuse_disable_pagecache", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5593 .set_description(""),
5595 Option("fuse_allow_other", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5597 .set_description(""),
5599 Option("fuse_default_permissions", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5601 .set_description(""),
5603 Option("fuse_big_writes", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5605 .set_description(""),
5607 Option("fuse_atomic_o_trunc", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5609 .set_description(""),
5611 Option("fuse_debug", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5613 .set_description(""),
5615 Option("fuse_multithreaded", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5617 .set_description(""),
5619 Option("fuse_require_active_mds", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5621 .set_description(""),
5623 Option("fuse_syncfs_on_mksnap", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5625 .set_description(""),
5627 Option("fuse_set_user_groups", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5629 .set_description(""),
5631 Option("client_try_dentry_invalidate", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5633 .set_description(""),
5635 Option("client_die_on_failed_remount", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5637 .set_description(""),
5639 Option("client_check_pool_perm", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5641 .set_description(""),
5643 Option("client_use_faked_inos", Option::TYPE_BOOL
, Option::LEVEL_ADVANCED
)
5645 .set_description(""),
5647 Option("client_mds_namespace", Option::TYPE_STR
, Option::LEVEL_ADVANCED
)
5649 .set_description(""),
5653 static std::vector
<Option
> build_options()
5655 std::vector
<Option
> result
= global_options
;
5657 auto ingest
= [&result
](std::vector
<Option
> &options
, const char* svc
) {
5658 for (const auto &o_in
: options
) {
5661 result
.push_back(o
);
5665 ingest(rgw_options
, "rgw");
5666 ingest(rbd_options
, "rbd");
5667 ingest(mds_options
, "mds");
5668 ingest(mds_client_options
, "mds_client");
5673 const std::vector
<Option
> ceph_options
= build_options();