1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 * Ceph - scalable distributed file system
6 * Copyright (C) 2004-2006 Sage Weil <sage@newdream.net>
8 * This is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License version 2.1, as published by the Free Software
11 * Foundation. See file COPYING.
15 /* note: no header guard */
16 OPTION(host
, OPT_STR
) // "" means that ceph will use short hostname
17 OPTION(public_addr
, OPT_ADDR
)
18 OPTION(public_addrv
, OPT_ADDRVEC
)
19 OPTION(public_bind_addr
, OPT_ADDR
)
20 OPTION(cluster_addr
, OPT_ADDR
)
21 OPTION(public_network
, OPT_STR
)
22 OPTION(cluster_network
, OPT_STR
)
23 OPTION(lockdep
, OPT_BOOL
)
24 OPTION(lockdep_force_backtrace
, OPT_BOOL
) // always gather current backtrace at every lock
25 OPTION(run_dir
, OPT_STR
) // the "/var/run/ceph" dir, created on daemon startup
26 OPTION(admin_socket
, OPT_STR
) // default changed by common_preinit()
27 OPTION(admin_socket_mode
, OPT_STR
) // permission bits to set for admin socket file, e.g., "0775", "0755"
29 OPTION(daemonize
, OPT_BOOL
) // default changed by common_preinit()
30 OPTION(setuser
, OPT_STR
) // uid or user name
31 OPTION(setgroup
, OPT_STR
) // gid or group name
32 OPTION(setuser_match_path
, OPT_STR
) // make setuser/group conditional on this path matching ownership
33 OPTION(pid_file
, OPT_STR
) // default changed by common_preinit()
34 OPTION(chdir
, OPT_STR
)
35 OPTION(restapi_log_level
, OPT_STR
) // default set by Python code
36 OPTION(restapi_base_url
, OPT_STR
) // "
37 OPTION(fatal_signal_handlers
, OPT_BOOL
)
38 OPTION(crash_dir
, OPT_STR
)
39 SAFE_OPTION(erasure_code_dir
, OPT_STR
) // default location for erasure-code plugins
41 OPTION(log_file
, OPT_STR
) // default changed by common_preinit()
42 OPTION(log_max_new
, OPT_INT
) // default changed by common_preinit()
43 OPTION(log_max_recent
, OPT_INT
) // default changed by common_preinit()
44 OPTION(log_to_file
, OPT_BOOL
)
45 OPTION(log_to_stderr
, OPT_BOOL
) // default changed by common_preinit()
46 OPTION(err_to_stderr
, OPT_BOOL
) // default changed by common_preinit()
47 OPTION(log_to_syslog
, OPT_BOOL
)
48 OPTION(err_to_syslog
, OPT_BOOL
)
49 OPTION(log_flush_on_exit
, OPT_BOOL
) // default changed by common_preinit()
50 OPTION(log_stop_at_utilization
, OPT_FLOAT
) // stop logging at (near) full
51 OPTION(log_to_graylog
, OPT_BOOL
)
52 OPTION(err_to_graylog
, OPT_BOOL
)
53 OPTION(log_graylog_host
, OPT_STR
)
54 OPTION(log_graylog_port
, OPT_INT
)
56 // options will take k/v pairs, or single-item that will be assumed as general
57 // default for all, regardless of channel.
58 // e.g., "info" would be taken as the same as "default=info"
59 // also, "default=daemon audit=local0" would mean
60 // "default all to 'daemon', override 'audit' with 'local0'
61 OPTION(clog_to_monitors
, OPT_STR
)
62 OPTION(clog_to_syslog
, OPT_STR
)
63 OPTION(clog_to_syslog_level
, OPT_STR
) // this level and above
64 OPTION(clog_to_syslog_facility
, OPT_STR
)
65 OPTION(clog_to_graylog
, OPT_STR
)
66 OPTION(clog_to_graylog_host
, OPT_STR
)
67 OPTION(clog_to_graylog_port
, OPT_STR
)
69 OPTION(mon_cluster_log_to_syslog
, OPT_STR
)
70 OPTION(mon_cluster_log_to_syslog_level
, OPT_STR
) // this level and above
71 OPTION(mon_cluster_log_to_syslog_facility
, OPT_STR
)
72 OPTION(mon_cluster_log_to_file
, OPT_BOOL
)
73 OPTION(mon_cluster_log_file
, OPT_STR
)
74 OPTION(mon_cluster_log_file_level
, OPT_STR
)
75 OPTION(mon_cluster_log_to_graylog
, OPT_STR
)
76 OPTION(mon_cluster_log_to_graylog_host
, OPT_STR
)
77 OPTION(mon_cluster_log_to_graylog_port
, OPT_STR
)
79 OPTION(enable_experimental_unrecoverable_data_corrupting_features
, OPT_STR
)
81 SAFE_OPTION(plugin_dir
, OPT_STR
)
83 OPTION(compressor_zlib_isal
, OPT_BOOL
)
84 OPTION(compressor_zlib_level
, OPT_INT
) //regular zlib compression level, not applicable to isa-l optimized version
86 OPTION(qat_compressor_enabled
, OPT_BOOL
)
88 OPTION(plugin_crypto_accelerator
, OPT_STR
)
90 OPTION(mempool_debug
, OPT_BOOL
)
95 OPTION(keyfile
, OPT_STR
)
96 OPTION(keyring
, OPT_STR
)
97 OPTION(heartbeat_interval
, OPT_INT
)
98 OPTION(heartbeat_file
, OPT_STR
)
99 OPTION(heartbeat_inject_failure
, OPT_INT
) // force an unhealthy heartbeat for N seconds
100 OPTION(perf
, OPT_BOOL
) // enable internal perf counters
102 SAFE_OPTION(ms_type
, OPT_STR
) // messenger backend. It will be modified in runtime, so use SAFE_OPTION
103 OPTION(ms_public_type
, OPT_STR
) // messenger backend
104 OPTION(ms_cluster_type
, OPT_STR
) // messenger backend
105 OPTION(ms_learn_addr_from_peer
, OPT_BOOL
)
106 OPTION(ms_tcp_nodelay
, OPT_BOOL
)
107 OPTION(ms_tcp_rcvbuf
, OPT_INT
)
108 OPTION(ms_tcp_prefetch_max_size
, OPT_U32
) // max prefetch size, we limit this to avoid extra memcpy
109 OPTION(ms_initial_backoff
, OPT_DOUBLE
)
110 OPTION(ms_max_backoff
, OPT_DOUBLE
)
111 OPTION(ms_crc_data
, OPT_BOOL
)
112 OPTION(ms_crc_header
, OPT_BOOL
)
113 OPTION(ms_die_on_bad_msg
, OPT_BOOL
)
114 OPTION(ms_die_on_unhandled_msg
, OPT_BOOL
)
115 OPTION(ms_die_on_old_message
, OPT_BOOL
) // assert if we get a dup incoming message and shouldn't have (may be triggered by pre-541cd3c64be0dfa04e8a2df39422e0eb9541a428 code)
116 OPTION(ms_die_on_skipped_message
, OPT_BOOL
) // assert if we skip a seq (kernel client does this intentionally)
117 OPTION(ms_die_on_bug
, OPT_BOOL
)
118 OPTION(ms_dispatch_throttle_bytes
, OPT_U64
)
119 OPTION(ms_bind_ipv6
, OPT_BOOL
)
120 OPTION(ms_bind_port_min
, OPT_INT
)
121 OPTION(ms_bind_port_max
, OPT_INT
)
122 OPTION(ms_bind_retry_count
, OPT_INT
) // If binding fails, how many times do we retry to bind
123 OPTION(ms_bind_retry_delay
, OPT_INT
) // Delay between attempts to bind
124 OPTION(ms_bind_before_connect
, OPT_BOOL
)
125 OPTION(ms_tcp_listen_backlog
, OPT_INT
)
126 OPTION(ms_connection_ready_timeout
, OPT_U64
)
127 OPTION(ms_connection_idle_timeout
, OPT_U64
)
128 OPTION(ms_pq_max_tokens_per_priority
, OPT_U64
)
129 OPTION(ms_pq_min_cost
, OPT_U64
)
130 OPTION(ms_inject_socket_failures
, OPT_U64
)
131 SAFE_OPTION(ms_inject_delay_type
, OPT_STR
) // "osd mds mon client" allowed
132 OPTION(ms_inject_delay_msg_type
, OPT_STR
) // the type of message to delay). This is an additional restriction on the general type filter ms_inject_delay_type.
133 OPTION(ms_inject_delay_max
, OPT_DOUBLE
) // seconds
134 OPTION(ms_inject_delay_probability
, OPT_DOUBLE
) // range [0, 1]
135 OPTION(ms_inject_internal_delays
, OPT_DOUBLE
) // seconds
136 OPTION(ms_blackhole_osd
, OPT_BOOL
)
137 OPTION(ms_blackhole_mon
, OPT_BOOL
)
138 OPTION(ms_blackhole_mds
, OPT_BOOL
)
139 OPTION(ms_blackhole_mgr
, OPT_BOOL
)
140 OPTION(ms_blackhole_client
, OPT_BOOL
)
141 OPTION(ms_dump_on_send
, OPT_BOOL
) // hexdump msg to log on send
142 OPTION(ms_dump_corrupt_message_level
, OPT_INT
) // debug level to hexdump undecodeable messages at
143 OPTION(ms_async_op_threads
, OPT_U64
) // number of worker processing threads for async messenger created on init
144 OPTION(ms_async_max_op_threads
, OPT_U64
) // max number of worker processing threads for async messenger
145 OPTION(ms_async_rdma_device_name
, OPT_STR
)
146 OPTION(ms_async_rdma_enable_hugepage
, OPT_BOOL
)
147 OPTION(ms_async_rdma_buffer_size
, OPT_INT
)
148 OPTION(ms_async_rdma_send_buffers
, OPT_U32
)
149 //size of the receive buffer pool, 0 is unlimited
150 OPTION(ms_async_rdma_receive_buffers
, OPT_U32
)
151 // max number of wr in srq
152 OPTION(ms_async_rdma_receive_queue_len
, OPT_U32
)
154 OPTION(ms_async_rdma_support_srq
, OPT_BOOL
)
155 OPTION(ms_async_rdma_port_num
, OPT_U32
)
156 OPTION(ms_async_rdma_polling_us
, OPT_U32
)
157 OPTION(ms_async_rdma_local_gid
, OPT_STR
) // GID format: "fe80:0000:0000:0000:7efe:90ff:fe72:6efe", no zero folding
158 OPTION(ms_async_rdma_roce_ver
, OPT_INT
) // 0=RoCEv1, 1=RoCEv2, 2=RoCEv1.5
159 OPTION(ms_async_rdma_sl
, OPT_INT
) // in RoCE, this means PCP
160 OPTION(ms_async_rdma_dscp
, OPT_INT
) // in RoCE, this means DSCP
162 // rdma connection management
163 OPTION(ms_async_rdma_cm
, OPT_BOOL
)
164 OPTION(ms_async_rdma_type
, OPT_STR
)
166 // when there are enough accept failures, indicating there are unrecoverable failures,
167 // just do ceph_abort() . Here we make it configurable.
168 OPTION(ms_max_accept_failures
, OPT_INT
)
170 OPTION(ms_dpdk_port_id
, OPT_INT
)
171 SAFE_OPTION(ms_dpdk_coremask
, OPT_STR
) // it is modified in unittest so that use SAFE_OPTION to declare
172 OPTION(ms_dpdk_memory_channel
, OPT_STR
)
173 OPTION(ms_dpdk_hugepages
, OPT_STR
)
174 OPTION(ms_dpdk_pmd
, OPT_STR
)
175 SAFE_OPTION(ms_dpdk_host_ipv4_addr
, OPT_STR
)
176 SAFE_OPTION(ms_dpdk_gateway_ipv4_addr
, OPT_STR
)
177 SAFE_OPTION(ms_dpdk_netmask_ipv4_addr
, OPT_STR
)
178 OPTION(ms_dpdk_lro
, OPT_BOOL
)
179 OPTION(ms_dpdk_hw_flow_control
, OPT_BOOL
)
180 // Weighing of a hardware network queue relative to a software queue (0=no work, 1= equal share)")
181 OPTION(ms_dpdk_hw_queue_weight
, OPT_FLOAT
)
182 OPTION(ms_dpdk_debug_allow_loopback
, OPT_BOOL
)
183 OPTION(ms_dpdk_rx_buffer_count_per_core
, OPT_INT
)
185 OPTION(inject_early_sigterm
, OPT_BOOL
)
187 OPTION(mon_data
, OPT_STR
)
188 OPTION(mon_initial_members
, OPT_STR
) // list of initial cluster mon ids; if specified, need majority to form initial quorum and create new cluster
189 OPTION(mon_compact_on_start
, OPT_BOOL
) // compact leveldb on ceph-mon start
190 OPTION(mon_compact_on_bootstrap
, OPT_BOOL
) // trigger leveldb compaction on bootstrap
191 OPTION(mon_compact_on_trim
, OPT_BOOL
) // compact (a prefix) when we trim old states
192 OPTION(mon_osd_cache_size
, OPT_INT
) // the size of osdmaps cache, not to rely on underlying store's cache
194 OPTION(mon_osd_cache_size_min
, OPT_U64
) // minimum amount of memory to cache osdmaps
195 OPTION(mon_memory_target
, OPT_U64
) // amount of mapped memory for osdmaps
196 OPTION(mon_memory_autotune
, OPT_BOOL
) // autotune cache memory for osdmap
197 OPTION(mon_cpu_threads
, OPT_INT
)
198 OPTION(mon_osd_mapping_pgs_per_chunk
, OPT_INT
)
199 OPTION(mon_clean_pg_upmaps_per_chunk
, OPT_U64
)
200 OPTION(mon_osd_max_creating_pgs
, OPT_INT
)
201 OPTION(mon_tick_interval
, OPT_INT
)
202 OPTION(mon_session_timeout
, OPT_INT
) // must send keepalive or subscribe
203 OPTION(mon_subscribe_interval
, OPT_DOUBLE
) // for legacy clients only
204 OPTION(mon_delta_reset_interval
, OPT_DOUBLE
) // seconds of inactivity before we reset the pg delta to 0
205 OPTION(mon_osd_laggy_halflife
, OPT_INT
) // (seconds) how quickly our laggy estimations decay
206 OPTION(mon_osd_laggy_weight
, OPT_DOUBLE
) // weight for new 'samples's in laggy estimations
207 OPTION(mon_osd_laggy_max_interval
, OPT_INT
) // maximum value of laggy_interval in laggy estimations
208 OPTION(mon_osd_adjust_heartbeat_grace
, OPT_BOOL
) // true if we should scale based on laggy estimations
209 OPTION(mon_osd_adjust_down_out_interval
, OPT_BOOL
) // true if we should scale based on laggy estimations
210 OPTION(mon_osd_auto_mark_in
, OPT_BOOL
) // mark any booting osds 'in'
211 OPTION(mon_osd_auto_mark_auto_out_in
, OPT_BOOL
) // mark booting auto-marked-out osds 'in'
212 OPTION(mon_osd_auto_mark_new_in
, OPT_BOOL
) // mark booting new osds 'in'
213 OPTION(mon_osd_destroyed_out_interval
, OPT_INT
) // seconds
214 OPTION(mon_osd_down_out_interval
, OPT_INT
) // seconds
215 OPTION(mon_osd_min_up_ratio
, OPT_DOUBLE
) // min osds required to be up to mark things down
216 OPTION(mon_osd_min_in_ratio
, OPT_DOUBLE
) // min osds required to be in to mark things out
217 OPTION(mon_osd_warn_op_age
, OPT_DOUBLE
) // max op age before we generate a warning (make it a power of 2)
218 OPTION(mon_osd_err_op_age_ratio
, OPT_DOUBLE
) // when to generate an error, as multiple of mon_osd_warn_op_age
219 OPTION(mon_osd_prime_pg_temp
, OPT_BOOL
) // prime osdmap with pg mapping changes
220 OPTION(mon_osd_prime_pg_temp_max_time
, OPT_FLOAT
) // max time to spend priming
221 OPTION(mon_osd_prime_pg_temp_max_estimate
, OPT_FLOAT
) // max estimate of pg total before we do all pgs in parallel
222 OPTION(mon_election_timeout
, OPT_FLOAT
) // on election proposer, max waiting time for all ACKs
223 OPTION(mon_lease
, OPT_FLOAT
) // lease interval
224 OPTION(mon_lease_renew_interval_factor
, OPT_FLOAT
) // on leader, to renew the lease
225 OPTION(mon_lease_ack_timeout_factor
, OPT_FLOAT
) // on leader, if lease isn't acked by all peons
226 OPTION(mon_accept_timeout_factor
, OPT_FLOAT
) // on leader, if paxos update isn't accepted
228 OPTION(mon_clock_drift_allowed
, OPT_FLOAT
) // allowed clock drift between monitors
229 OPTION(mon_clock_drift_warn_backoff
, OPT_FLOAT
) // exponential backoff for clock drift warnings
230 OPTION(mon_timecheck_interval
, OPT_FLOAT
) // on leader, timecheck (clock drift check) interval (seconds)
231 OPTION(mon_timecheck_skew_interval
, OPT_FLOAT
) // on leader, timecheck (clock drift check) interval when in presence of a skew (seconds)
232 OPTION(mon_pg_check_down_all_threshold
, OPT_FLOAT
) // threshold of down osds after which we check all pgs
233 OPTION(mon_cache_target_full_warn_ratio
, OPT_FLOAT
) // position between pool cache_target_full and max where we start warning
234 OPTION(mon_osd_full_ratio
, OPT_FLOAT
) // what % full makes an OSD "full"
235 OPTION(mon_osd_backfillfull_ratio
, OPT_FLOAT
) // what % full makes an OSD backfill full (backfill halted)
236 OPTION(mon_osd_nearfull_ratio
, OPT_FLOAT
) // what % full makes an OSD near full
237 OPTION(mon_osd_initial_require_min_compat_client
, OPT_STR
)
238 OPTION(mon_allow_pool_delete
, OPT_BOOL
) // allow pool deletion
239 OPTION(mon_fake_pool_delete
, OPT_BOOL
) // fake pool deletion (add _DELETED suffix)
240 OPTION(mon_globalid_prealloc
, OPT_U32
) // how many globalids to prealloc
241 OPTION(mon_osd_report_timeout
, OPT_INT
) // grace period before declaring unresponsive OSDs dead
242 OPTION(mon_warn_on_legacy_crush_tunables
, OPT_BOOL
) // warn if crush tunables are too old (older than mon_min_crush_required_version)
243 OPTION(mon_crush_min_required_version
, OPT_STR
)
244 OPTION(mon_warn_on_crush_straw_calc_version_zero
, OPT_BOOL
) // warn if crush straw_calc_version==0
245 OPTION(mon_warn_on_osd_down_out_interval_zero
, OPT_BOOL
) // warn if 'mon_osd_down_out_interval == 0'
246 OPTION(mon_warn_on_cache_pools_without_hit_sets
, OPT_BOOL
)
247 OPTION(mon_warn_on_misplaced
, OPT_BOOL
)
248 OPTION(mon_min_osdmap_epochs
, OPT_INT
)
249 OPTION(mon_max_log_epochs
, OPT_INT
)
250 OPTION(mon_max_mdsmap_epochs
, OPT_INT
)
251 OPTION(mon_max_osd
, OPT_INT
)
252 OPTION(mon_probe_timeout
, OPT_DOUBLE
)
253 OPTION(mon_client_bytes
, OPT_U64
) // client msg data allowed in memory (in bytes)
254 OPTION(mon_log_max_summary
, OPT_U64
)
255 OPTION(mon_daemon_bytes
, OPT_U64
) // mds, osd message memory cap (in bytes)
256 OPTION(mon_max_log_entries_per_event
, OPT_INT
)
257 OPTION(mon_reweight_min_pgs_per_osd
, OPT_U64
) // min pgs per osd for reweight-by-pg command
258 OPTION(mon_reweight_min_bytes_per_osd
, OPT_U64
) // min bytes per osd for reweight-by-utilization command
259 OPTION(mon_reweight_max_osds
, OPT_INT
) // max osds to change per reweight-by-* command
260 OPTION(mon_reweight_max_change
, OPT_DOUBLE
)
261 OPTION(mon_health_to_clog
, OPT_BOOL
)
262 OPTION(mon_health_to_clog_interval
, OPT_INT
)
263 OPTION(mon_health_to_clog_tick_interval
, OPT_DOUBLE
)
264 OPTION(mon_data_avail_crit
, OPT_INT
)
265 OPTION(mon_data_avail_warn
, OPT_INT
)
266 OPTION(mon_data_size_warn
, OPT_U64
) // issue a warning when the monitor's data store goes over 15GB (in bytes)
267 OPTION(mon_warn_pg_not_scrubbed_ratio
, OPT_FLOAT
)
268 OPTION(mon_warn_pg_not_deep_scrubbed_ratio
, OPT_FLOAT
)
269 OPTION(mon_scrub_interval
, OPT_INT
) // once a day
270 OPTION(mon_scrub_timeout
, OPT_INT
) // let's give it 5 minutes; why not.
271 OPTION(mon_scrub_max_keys
, OPT_INT
) // max number of keys to scrub each time
272 OPTION(mon_scrub_inject_crc_mismatch
, OPT_DOUBLE
) // probability of injected crc mismatch [0.0, 1.0]
273 OPTION(mon_scrub_inject_missing_keys
, OPT_DOUBLE
) // probability of injected missing keys [0.0, 1.0]
274 OPTION(mon_config_key_max_entry_size
, OPT_INT
) // max num bytes per config-key entry
275 OPTION(mon_sync_timeout
, OPT_DOUBLE
)
276 OPTION(mon_sync_max_payload_size
, OPT_SIZE
)
277 OPTION(mon_sync_max_payload_keys
, OPT_INT
)
278 OPTION(mon_sync_debug
, OPT_BOOL
) // enable sync-specific debug
279 OPTION(mon_inject_sync_get_chunk_delay
, OPT_DOUBLE
) // inject N second delay on each get_chunk request
280 OPTION(mon_osd_force_trim_to
, OPT_INT
) // force mon to trim maps to this point, regardless of min_last_epoch_clean (dangerous)
281 OPTION(mon_mds_force_trim_to
, OPT_INT
) // force mon to trim mdsmaps to this point (dangerous)
282 OPTION(mon_mds_skip_sanity
, OPT_BOOL
) // skip safety assertions on FSMap (in case of bugs where we want to continue anyway)
283 OPTION(mon_osd_snap_trim_queue_warn_on
, OPT_INT
)
285 // monitor debug options
286 OPTION(mon_debug_deprecated_as_obsolete
, OPT_BOOL
) // consider deprecated commands as obsolete
289 OPTION(mon_debug_dump_transactions
, OPT_BOOL
)
290 OPTION(mon_debug_dump_json
, OPT_BOOL
)
291 OPTION(mon_debug_dump_location
, OPT_STR
)
292 OPTION(mon_debug_no_require_bluestore_for_ec_overwrites
, OPT_BOOL
)
293 OPTION(mon_debug_no_initial_persistent_features
, OPT_BOOL
)
294 OPTION(mon_inject_transaction_delay_max
, OPT_DOUBLE
) // seconds
295 OPTION(mon_inject_transaction_delay_probability
, OPT_DOUBLE
) // range [0, 1]
297 OPTION(mon_sync_provider_kill_at
, OPT_INT
) // kill the sync provider at a specific point in the work flow
298 OPTION(mon_sync_requester_kill_at
, OPT_INT
) // kill the sync requester at a specific point in the work flow
299 OPTION(mon_force_quorum_join
, OPT_BOOL
) // force monitor to join quorum even if it has been previously removed from the map
300 OPTION(mon_keyvaluedb
, OPT_STR
) // type of keyvaluedb backend
302 // UNSAFE -- TESTING ONLY! Allows addition of a cache tier with preexisting snaps
303 OPTION(mon_debug_unsafe_allow_tier_with_nonempty_snaps
, OPT_BOOL
)
304 OPTION(mon_osd_blacklist_default_expire
, OPT_DOUBLE
) // default one hour
305 OPTION(mon_osd_crush_smoke_test
, OPT_BOOL
)
307 OPTION(paxos_stash_full_interval
, OPT_INT
) // how often (in commits) to stash a full copy of the PaxosService state
308 OPTION(paxos_max_join_drift
, OPT_INT
) // max paxos iterations before we must first sync the monitor stores
309 OPTION(paxos_propose_interval
, OPT_DOUBLE
) // gather updates for this long before proposing a map update
310 OPTION(paxos_min_wait
, OPT_DOUBLE
) // min time to gather updates for after period of inactivity
311 OPTION(paxos_min
, OPT_INT
) // minimum number of paxos states to keep around
312 OPTION(paxos_trim_min
, OPT_INT
) // number of extra proposals tolerated before trimming
313 OPTION(paxos_trim_max
, OPT_INT
) // max number of extra proposals to trim at a time
314 OPTION(paxos_service_trim_min
, OPT_INT
) // minimum amount of versions to trigger a trim (0 disables it)
315 OPTION(paxos_service_trim_max
, OPT_INT
) // maximum amount of versions to trim during a single proposal (0 disables it)
316 OPTION(paxos_kill_at
, OPT_INT
)
317 OPTION(auth_cluster_required
, OPT_STR
) // required of mon, mds, osd daemons
318 OPTION(auth_service_required
, OPT_STR
) // required by daemons of clients
319 OPTION(auth_client_required
, OPT_STR
) // what clients require of daemons
320 OPTION(auth_supported
, OPT_STR
) // deprecated; default value for above if they are not defined.
321 OPTION(max_rotating_auth_attempts
, OPT_INT
)
322 OPTION(cephx_require_signatures
, OPT_BOOL
)
323 OPTION(cephx_cluster_require_signatures
, OPT_BOOL
)
324 OPTION(cephx_service_require_signatures
, OPT_BOOL
)
325 OPTION(cephx_require_version
, OPT_INT
)
326 OPTION(cephx_cluster_require_version
, OPT_INT
)
327 OPTION(cephx_service_require_version
, OPT_INT
)
328 OPTION(cephx_sign_messages
, OPT_BOOL
) // Default to signing session messages if supported
329 OPTION(auth_mon_ticket_ttl
, OPT_DOUBLE
)
330 OPTION(auth_service_ticket_ttl
, OPT_DOUBLE
)
331 OPTION(auth_debug
, OPT_BOOL
) // if true, assert when weird things happen
332 OPTION(mon_client_hunt_parallel
, OPT_U32
) // how many mons to try to connect to in parallel during hunt
333 OPTION(mon_client_hunt_interval
, OPT_DOUBLE
) // try new mon every N seconds until we connect
334 OPTION(mon_client_log_interval
, OPT_DOUBLE
) // send logs every N seconds
335 OPTION(mon_client_ping_interval
, OPT_DOUBLE
) // ping every N seconds
336 OPTION(mon_client_ping_timeout
, OPT_DOUBLE
) // fail if we don't hear back
337 OPTION(mon_client_hunt_interval_backoff
, OPT_DOUBLE
) // each time we reconnect to a monitor, double our timeout
338 OPTION(mon_client_hunt_interval_max_multiple
, OPT_DOUBLE
) // up to a max of 10*default (30 seconds)
339 OPTION(mon_client_max_log_entries_per_message
, OPT_INT
)
340 OPTION(mon_client_directed_command_retry
, OPT_INT
)
341 OPTION(client_cache_size
, OPT_INT
)
342 OPTION(client_cache_mid
, OPT_FLOAT
)
343 OPTION(client_use_random_mds
, OPT_BOOL
)
344 OPTION(client_mount_timeout
, OPT_DOUBLE
)
345 OPTION(client_tick_interval
, OPT_DOUBLE
)
346 OPTION(client_trace
, OPT_STR
)
347 OPTION(client_readahead_min
, OPT_LONGLONG
) // readahead at _least_ this much.
348 OPTION(client_readahead_max_bytes
, OPT_LONGLONG
) // default unlimited
349 OPTION(client_readahead_max_periods
, OPT_LONGLONG
) // as multiple of file layout period (object size * num stripes)
350 OPTION(client_reconnect_stale
, OPT_BOOL
) // automatically reconnect stale session
351 OPTION(client_snapdir
, OPT_STR
)
352 OPTION(client_mount_uid
, OPT_INT
)
353 OPTION(client_mount_gid
, OPT_INT
)
354 OPTION(client_notify_timeout
, OPT_INT
) // in seconds
355 OPTION(osd_client_watch_timeout
, OPT_INT
) // in seconds
356 OPTION(client_caps_release_delay
, OPT_INT
) // in seconds
357 OPTION(client_quota_df
, OPT_BOOL
) // use quota for df on subdir mounts
358 OPTION(client_oc
, OPT_BOOL
)
359 OPTION(client_oc_size
, OPT_INT
) // MB * n
360 OPTION(client_oc_max_dirty
, OPT_INT
) // MB * n (dirty OR tx.. bigish)
361 OPTION(client_oc_target_dirty
, OPT_INT
) // target dirty (keep this smallish)
362 OPTION(client_oc_max_dirty_age
, OPT_DOUBLE
) // max age in cache before writeback
363 OPTION(client_oc_max_objects
, OPT_INT
) // max objects in cache
364 OPTION(client_debug_getattr_caps
, OPT_BOOL
) // check if MDS reply contains wanted caps
365 OPTION(client_debug_force_sync_read
, OPT_BOOL
) // always read synchronously (go to osds)
366 OPTION(client_debug_inject_tick_delay
, OPT_INT
) // delay the client tick for a number of seconds
367 OPTION(client_max_inline_size
, OPT_U64
)
368 OPTION(client_inject_release_failure
, OPT_BOOL
) // synthetic client bug for testing
369 OPTION(client_inject_fixed_oldest_tid
, OPT_BOOL
) // synthetic client bug for testing
370 OPTION(client_metadata
, OPT_STR
)
371 OPTION(client_acl_type
, OPT_STR
)
372 OPTION(client_permissions
, OPT_BOOL
)
373 OPTION(client_dirsize_rbytes
, OPT_BOOL
)
375 OPTION(client_try_dentry_invalidate
, OPT_BOOL
) // the client should try to use dentry invaldation instead of remounting, on kernels it believes that will work for
376 OPTION(client_check_pool_perm
, OPT_BOOL
)
377 OPTION(client_use_faked_inos
, OPT_BOOL
)
379 OPTION(crush_location
, OPT_STR
) // whitespace-separated list of key=value pairs describing crush location
380 OPTION(crush_location_hook
, OPT_STR
)
381 OPTION(crush_location_hook_timeout
, OPT_INT
)
383 OPTION(objecter_tick_interval
, OPT_DOUBLE
)
384 OPTION(objecter_timeout
, OPT_DOUBLE
) // before we ask for a map
385 OPTION(objecter_inflight_op_bytes
, OPT_U64
) // max in-flight data (both directions)
386 OPTION(objecter_inflight_ops
, OPT_U64
) // max in-flight ios
387 OPTION(objecter_completion_locks_per_session
, OPT_U64
) // num of completion locks per each session, for serializing same object responses
388 OPTION(objecter_inject_no_watch_ping
, OPT_BOOL
) // suppress watch pings
389 OPTION(objecter_retry_writes_after_first_reply
, OPT_BOOL
) // ignore the first reply for each write, and resend the osd op instead
390 OPTION(objecter_debug_inject_relock_delay
, OPT_BOOL
)
392 // Max number of deletes at once in a single Filer::purge call
393 OPTION(filer_max_purge_ops
, OPT_U32
)
394 // Max number of truncate at once in a single Filer::truncate call
395 OPTION(filer_max_truncate_ops
, OPT_U32
)
397 OPTION(mds_data
, OPT_STR
)
398 // max xattr kv pairs size for each dir/file
399 OPTION(mds_max_xattr_pairs_size
, OPT_U32
)
400 OPTION(mds_max_file_recover
, OPT_U32
)
401 OPTION(mds_dir_max_commit_size
, OPT_INT
) // MB
402 OPTION(mds_dir_keys_per_op
, OPT_INT
)
403 OPTION(mds_decay_halflife
, OPT_FLOAT
)
404 OPTION(mds_beacon_interval
, OPT_FLOAT
)
405 OPTION(mds_beacon_grace
, OPT_FLOAT
)
406 OPTION(mds_enforce_unique_name
, OPT_BOOL
)
408 OPTION(mds_session_blacklist_on_timeout
, OPT_BOOL
) // whether to blacklist clients whose sessions are dropped due to timeout
409 OPTION(mds_session_blacklist_on_evict
, OPT_BOOL
) // whether to blacklist clients whose sessions are dropped via admin commands
411 OPTION(mds_sessionmap_keys_per_op
, OPT_U32
) // how many sessions should I try to load/store in a single OMAP operation?
412 OPTION(mds_freeze_tree_timeout
, OPT_FLOAT
) // detecting freeze tree deadlock
413 OPTION(mds_health_summarize_threshold
, OPT_INT
) // collapse N-client health metrics to a single 'many'
414 OPTION(mds_reconnect_timeout
, OPT_FLOAT
) // seconds to wait for clients during mds restart
415 // make it (mdsmap.session_timeout - mds_beacon_grace)
416 OPTION(mds_tick_interval
, OPT_FLOAT
)
417 OPTION(mds_dirstat_min_interval
, OPT_FLOAT
) // try to avoid propagating more often than this
418 OPTION(mds_scatter_nudge_interval
, OPT_FLOAT
) // how quickly dirstat changes propagate up the hierarchy
419 OPTION(mds_client_prealloc_inos
, OPT_INT
)
420 OPTION(mds_early_reply
, OPT_BOOL
)
421 OPTION(mds_default_dir_hash
, OPT_INT
)
422 OPTION(mds_log_pause
, OPT_BOOL
)
423 OPTION(mds_log_skip_corrupt_events
, OPT_BOOL
)
424 OPTION(mds_log_max_events
, OPT_INT
)
425 OPTION(mds_log_events_per_segment
, OPT_INT
)
426 OPTION(mds_log_segment_size
, OPT_INT
) // segment size for mds log, default to default file_layout_t
427 OPTION(mds_log_max_segments
, OPT_U32
)
428 OPTION(mds_bal_export_pin
, OPT_BOOL
) // allow clients to pin directory trees to ranks
429 OPTION(mds_bal_sample_interval
, OPT_DOUBLE
) // every 3 seconds
430 OPTION(mds_bal_replicate_threshold
, OPT_FLOAT
)
431 OPTION(mds_bal_unreplicate_threshold
, OPT_FLOAT
)
432 OPTION(mds_bal_split_size
, OPT_INT
)
433 OPTION(mds_bal_split_rd
, OPT_FLOAT
)
434 OPTION(mds_bal_split_wr
, OPT_FLOAT
)
435 OPTION(mds_bal_split_bits
, OPT_INT
)
436 OPTION(mds_bal_merge_size
, OPT_INT
)
437 OPTION(mds_bal_fragment_size_max
, OPT_INT
) // order of magnitude higher than split size
438 OPTION(mds_bal_fragment_fast_factor
, OPT_FLOAT
) // multiple of size_max that triggers immediate split
439 OPTION(mds_bal_idle_threshold
, OPT_FLOAT
)
440 OPTION(mds_bal_max
, OPT_INT
)
441 OPTION(mds_bal_max_until
, OPT_INT
)
442 OPTION(mds_bal_mode
, OPT_INT
)
443 OPTION(mds_bal_min_rebalance
, OPT_FLOAT
) // must be this much above average before we export anything
444 OPTION(mds_bal_min_start
, OPT_FLOAT
) // if we need less than this, we don't do anything
445 OPTION(mds_bal_need_min
, OPT_FLOAT
) // take within this range of what we need
446 OPTION(mds_bal_need_max
, OPT_FLOAT
)
447 OPTION(mds_bal_midchunk
, OPT_FLOAT
) // any sub bigger than this taken in full
448 OPTION(mds_bal_minchunk
, OPT_FLOAT
) // never take anything smaller than this
449 OPTION(mds_bal_target_decay
, OPT_DOUBLE
) // target decay half-life in MDSMap (2x larger is approx. 2x slower)
450 OPTION(mds_replay_interval
, OPT_FLOAT
) // time to wait before starting replay again
451 OPTION(mds_shutdown_check
, OPT_INT
)
452 OPTION(mds_thrash_exports
, OPT_INT
)
453 OPTION(mds_thrash_fragments
, OPT_INT
)
454 OPTION(mds_dump_cache_on_map
, OPT_BOOL
)
455 OPTION(mds_dump_cache_after_rejoin
, OPT_BOOL
)
456 OPTION(mds_verify_scatter
, OPT_BOOL
)
457 OPTION(mds_debug_scatterstat
, OPT_BOOL
)
458 OPTION(mds_debug_frag
, OPT_BOOL
)
459 OPTION(mds_debug_auth_pins
, OPT_BOOL
)
460 OPTION(mds_debug_subtrees
, OPT_BOOL
)
461 OPTION(mds_kill_mdstable_at
, OPT_INT
)
462 OPTION(mds_kill_export_at
, OPT_INT
)
463 OPTION(mds_kill_import_at
, OPT_INT
)
464 OPTION(mds_kill_link_at
, OPT_INT
)
465 OPTION(mds_kill_rename_at
, OPT_INT
)
466 OPTION(mds_kill_openc_at
, OPT_INT
)
467 OPTION(mds_kill_journal_expire_at
, OPT_INT
)
468 OPTION(mds_kill_journal_replay_at
, OPT_INT
)
469 OPTION(mds_journal_format
, OPT_U32
) // Default to most recent JOURNAL_FORMAT_*
470 OPTION(mds_kill_create_at
, OPT_INT
)
471 OPTION(mds_inject_traceless_reply_probability
, OPT_DOUBLE
) /* percentage
472 of MDS modify replies to skip sending the
473 client a trace on [0-1]*/
474 OPTION(mds_wipe_sessions
, OPT_BOOL
)
475 OPTION(mds_wipe_ino_prealloc
, OPT_BOOL
)
476 OPTION(mds_skip_ino
, OPT_INT
)
477 OPTION(mds_enable_op_tracker
, OPT_BOOL
) // enable/disable MDS op tracking
478 OPTION(mds_op_history_size
, OPT_U32
) // Max number of completed ops to track
479 OPTION(mds_op_history_duration
, OPT_U32
) // Oldest completed op to track
480 OPTION(mds_op_complaint_time
, OPT_FLOAT
) // how many seconds old makes an op complaint-worthy
481 OPTION(mds_op_log_threshold
, OPT_INT
) // how many op log messages to show in one go
482 OPTION(mds_snap_min_uid
, OPT_U32
) // The minimum UID required to create a snapshot
483 OPTION(mds_snap_max_uid
, OPT_U32
) // The maximum UID allowed to create a snapshot
484 OPTION(mds_snap_rstat
, OPT_BOOL
) // enable/disable nested stat for snapshot
485 OPTION(mds_verify_backtrace
, OPT_U32
)
486 // detect clients which aren't trimming completed requests
487 OPTION(mds_max_completed_flushes
, OPT_U32
)
488 OPTION(mds_max_completed_requests
, OPT_U32
)
490 OPTION(mds_action_on_write_error
, OPT_U32
) // 0: ignore; 1: force readonly; 2: crash
491 OPTION(mds_mon_shutdown_timeout
, OPT_DOUBLE
)
493 // Maximum number of concurrent stray files to purge
494 OPTION(mds_max_purge_files
, OPT_U32
)
495 // Maximum number of concurrent RADOS ops to issue in purging
496 OPTION(mds_max_purge_ops
, OPT_U32
)
497 // Maximum number of concurrent RADOS ops to issue in purging, scaled by PG count
498 OPTION(mds_max_purge_ops_per_pg
, OPT_FLOAT
)
500 OPTION(mds_purge_queue_busy_flush_period
, OPT_FLOAT
)
502 OPTION(mds_root_ino_uid
, OPT_INT
) // The UID of / on new filesystems
503 OPTION(mds_root_ino_gid
, OPT_INT
) // The GID of / on new filesystems
505 OPTION(mds_max_scrub_ops_in_progress
, OPT_INT
) // the number of simultaneous scrubs allowed
507 // Maximum number of damaged frags/dentries before whole MDS rank goes damaged
508 OPTION(mds_damage_table_max_entries
, OPT_INT
)
510 // Maximum increment for client writable range, counted by number of objects
511 OPTION(mds_client_writeable_range_max_inc_objs
, OPT_U32
)
513 // verify backend can support configured max object name length
514 OPTION(osd_check_max_object_name_len_on_startup
, OPT_BOOL
)
516 // Maximum number of backfills to or from a single osd
517 OPTION(osd_max_backfills
, OPT_U64
)
519 // Minimum recovery priority (255 = max, smaller = lower)
520 OPTION(osd_min_recovery_priority
, OPT_INT
)
522 // Seconds to wait before retrying refused backfills
523 OPTION(osd_backfill_retry_interval
, OPT_DOUBLE
)
525 // Seconds to wait before retrying refused recovery
526 OPTION(osd_recovery_retry_interval
, OPT_DOUBLE
)
528 // max agent flush ops
529 OPTION(osd_agent_max_ops
, OPT_INT
)
530 OPTION(osd_agent_max_low_ops
, OPT_INT
)
531 OPTION(osd_agent_min_evict_effort
, OPT_FLOAT
)
532 OPTION(osd_agent_quantize_effort
, OPT_FLOAT
)
533 OPTION(osd_agent_delay_time
, OPT_FLOAT
)
535 // osd ignore history.last_epoch_started in find_best_info
536 OPTION(osd_find_best_info_ignore_history_les
, OPT_BOOL
)
538 // decay atime and hist histograms after how many objects go by
539 OPTION(osd_agent_hist_halflife
, OPT_INT
)
541 // must be this amount over the threshold to enable,
542 // this amount below the threshold to disable.
543 OPTION(osd_agent_slop
, OPT_FLOAT
)
545 OPTION(osd_uuid
, OPT_UUID
)
546 OPTION(osd_data
, OPT_STR
)
547 OPTION(osd_journal
, OPT_STR
)
548 OPTION(osd_journal_size
, OPT_INT
) // in mb
549 OPTION(osd_journal_flush_on_shutdown
, OPT_BOOL
) // Flush journal to data store on shutdown
550 // flags for specific control purpose during osd mount() process.
551 // e.g., can be 1 to skip over replaying journal
552 // or 2 to skip over mounting omap or 3 to skip over both.
553 // This might be helpful in case the journal is totally corrupted
554 // and we still want to bring the osd daemon back normally, etc.
555 OPTION(osd_os_flags
, OPT_U32
)
556 OPTION(osd_max_write_size
, OPT_INT
)
557 OPTION(osd_max_pgls
, OPT_U64
) // max number of pgls entries to return
558 OPTION(osd_client_message_size_cap
, OPT_U64
) // client data allowed in-memory (in bytes)
559 OPTION(osd_client_message_cap
, OPT_U64
) // num client messages allowed in-memory
560 OPTION(osd_crush_update_weight_set
, OPT_BOOL
) // update weight set while updating weights
561 OPTION(osd_crush_chooseleaf_type
, OPT_INT
) // 1 = host
562 OPTION(osd_pool_use_gmt_hitset
, OPT_BOOL
) // try to use gmt for hitset archive names if all osds in cluster support it.
563 OPTION(osd_crush_update_on_start
, OPT_BOOL
)
564 OPTION(osd_class_update_on_start
, OPT_BOOL
) // automatically set device class on start
565 OPTION(osd_crush_initial_weight
, OPT_DOUBLE
) // if >=0, the initial weight is for newly added osds.
566 OPTION(osd_erasure_code_plugins
, OPT_STR
) // list of erasure code plugins
568 // Allows the "peered" state for recovery and backfill below min_size
569 OPTION(osd_allow_recovery_below_min_size
, OPT_BOOL
)
571 OPTION(osd_pool_default_ec_fast_read
, OPT_BOOL
) // whether turn on fast read on the pool or not
572 OPTION(osd_pool_default_flags
, OPT_INT
) // default flags for new pools
573 OPTION(osd_pool_default_flag_hashpspool
, OPT_BOOL
) // use new pg hashing to prevent pool/pg overlap
574 OPTION(osd_pool_default_flag_nodelete
, OPT_BOOL
) // pool can't be deleted
575 OPTION(osd_pool_default_flag_nopgchange
, OPT_BOOL
) // pool's pg and pgp num can't be changed
576 OPTION(osd_pool_default_flag_nosizechange
, OPT_BOOL
) // pool's size and min size can't be changed
577 OPTION(osd_pool_default_hit_set_bloom_fpp
, OPT_FLOAT
)
578 OPTION(osd_pool_default_cache_target_dirty_ratio
, OPT_FLOAT
)
579 OPTION(osd_pool_default_cache_target_dirty_high_ratio
, OPT_FLOAT
)
580 OPTION(osd_pool_default_cache_target_full_ratio
, OPT_FLOAT
)
581 OPTION(osd_pool_default_cache_min_flush_age
, OPT_INT
) // seconds
582 OPTION(osd_pool_default_cache_min_evict_age
, OPT_INT
) // seconds
583 OPTION(osd_pool_default_cache_max_evict_check_size
, OPT_INT
) // max size to check for eviction
584 OPTION(osd_pool_default_read_lease_ratio
, OPT_FLOAT
)
585 OPTION(osd_hit_set_min_size
, OPT_INT
) // min target size for a HitSet
586 OPTION(osd_hit_set_max_size
, OPT_INT
) // max target size for a HitSet
587 OPTION(osd_hit_set_namespace
, OPT_STR
) // rados namespace for hit_set tracking
589 // conservative default throttling values
590 OPTION(osd_tier_promote_max_objects_sec
, OPT_U64
)
591 OPTION(osd_tier_promote_max_bytes_sec
, OPT_U64
)
593 OPTION(osd_objecter_finishers
, OPT_INT
)
595 OPTION(osd_map_dedup
, OPT_BOOL
)
596 OPTION(osd_map_cache_size
, OPT_INT
)
597 OPTION(osd_map_message_max
, OPT_INT
) // max maps per MOSDMap message
598 OPTION(osd_map_message_max_bytes
, OPT_SIZE
) // max maps per MOSDMap message
599 OPTION(osd_map_share_max_epochs
, OPT_INT
) // cap on # of inc maps we send to peers, clients
600 OPTION(osd_inject_bad_map_crc_probability
, OPT_FLOAT
)
601 OPTION(osd_inject_failure_on_pg_removal
, OPT_BOOL
)
602 // shutdown the OSD if stuatus flipping more than max_markdown_count times in recent max_markdown_period seconds
603 OPTION(osd_max_markdown_period
, OPT_INT
)
604 OPTION(osd_max_markdown_count
, OPT_INT
)
606 OPTION(osd_op_pq_max_tokens_per_priority
, OPT_U64
)
607 OPTION(osd_op_pq_min_cost
, OPT_U64
)
608 OPTION(osd_recover_clone_overlap
, OPT_BOOL
) // preserve clone_overlap during recovery/migration
609 OPTION(osd_op_num_threads_per_shard
, OPT_INT
)
610 OPTION(osd_op_num_threads_per_shard_hdd
, OPT_INT
)
611 OPTION(osd_op_num_threads_per_shard_ssd
, OPT_INT
)
612 OPTION(osd_op_num_shards
, OPT_INT
)
613 OPTION(osd_op_num_shards_hdd
, OPT_INT
)
614 OPTION(osd_op_num_shards_ssd
, OPT_INT
)
616 // PrioritzedQueue (prio), Weighted Priority Queue (wpq ; default),
617 // mclock_opclass, mclock_client, or debug_random. "mclock_opclass"
618 // and "mclock_client" are based on the mClock/dmClock algorithm
619 // (Gulati, et al. 2010). "mclock_opclass" prioritizes based on the
620 // class the operation belongs to. "mclock_client" does the same but
621 // also works to ienforce fairness between clients. "debug_random"
622 // chooses among all four with equal probability.
623 OPTION(osd_op_queue
, OPT_STR
)
625 OPTION(osd_op_queue_cut_off
, OPT_STR
) // Min priority to go to strict queue. (low, high)
627 OPTION(osd_ignore_stale_divergent_priors
, OPT_BOOL
) // do not assert on divergent_prior entries which aren't in the log and whose on-disk objects are newer
629 // Set to true for testing. Users should NOT set this.
630 // If set to true even after reading enough shards to
631 // decode the object, any error will be reported.
632 OPTION(osd_read_ec_check_for_errors
, OPT_BOOL
) // return error if any ec shard has an error
634 OPTION(osd_debug_feed_pullee
, OPT_INT
)
636 OPTION(osd_backfill_scan_min
, OPT_INT
)
637 OPTION(osd_backfill_scan_max
, OPT_INT
)
638 OPTION(osd_op_thread_timeout
, OPT_INT
)
639 OPTION(osd_op_thread_suicide_timeout
, OPT_INT
)
640 OPTION(osd_recovery_sleep
, OPT_FLOAT
) // seconds to sleep between recovery ops
641 OPTION(osd_recovery_sleep_hdd
, OPT_FLOAT
)
642 OPTION(osd_recovery_sleep_ssd
, OPT_FLOAT
)
643 OPTION(osd_snap_trim_sleep
, OPT_DOUBLE
)
644 OPTION(osd_scrub_invalid_stats
, OPT_BOOL
)
645 OPTION(osd_command_thread_timeout
, OPT_INT
)
646 OPTION(osd_command_thread_suicide_timeout
, OPT_INT
)
647 OPTION(osd_heartbeat_interval
, OPT_INT
) // (seconds) how often we ping peers
649 // (seconds) how long before we decide a peer has failed
650 // This setting is read by the MONs and OSDs and has to be set to a equal value in both settings of the configuration
651 OPTION(osd_heartbeat_grace
, OPT_INT
)
652 OPTION(osd_heartbeat_min_peers
, OPT_INT
) // minimum number of peers
653 OPTION(osd_heartbeat_use_min_delay_socket
, OPT_BOOL
) // prio the heartbeat tcp socket and set dscp as CS6 on it if true
654 OPTION(osd_heartbeat_min_size
, OPT_INT
) // the minimum size of OSD heartbeat messages to send
656 // max number of parallel snap trims/pg
657 OPTION(osd_pg_max_concurrent_snap_trims
, OPT_U64
)
658 // max number of trimming pgs
659 OPTION(osd_max_trimming_pgs
, OPT_U64
)
661 // minimum number of peers that must be reachable to mark ourselves
662 // back up after being wrongly marked down.
663 OPTION(osd_heartbeat_min_healthy_ratio
, OPT_FLOAT
)
665 OPTION(osd_mon_heartbeat_interval
, OPT_INT
) // (seconds) how often to ping monitor if no peers
666 OPTION(osd_mon_report_interval
, OPT_INT
) // failures, up_thru, boot.
667 OPTION(osd_mon_report_max_in_flight
, OPT_INT
) // max updates in flight
668 OPTION(osd_beacon_report_interval
, OPT_INT
) // (second) how often to send beacon message to monitor
669 OPTION(osd_pg_stat_report_interval_max
, OPT_INT
) // report pg stats for any given pg at least this often
670 OPTION(osd_mon_ack_timeout
, OPT_DOUBLE
) // time out a mon if it doesn't ack stats
671 OPTION(osd_stats_ack_timeout_factor
, OPT_DOUBLE
) // multiples of mon_ack_timeout
672 OPTION(osd_stats_ack_timeout_decay
, OPT_DOUBLE
)
673 OPTION(osd_default_data_pool_replay_window
, OPT_INT
)
674 OPTION(osd_auto_mark_unfound_lost
, OPT_BOOL
)
675 OPTION(osd_recovery_delay_start
, OPT_FLOAT
)
676 OPTION(osd_recovery_max_active
, OPT_U64
)
677 OPTION(osd_recovery_max_active_hdd
, OPT_U64
)
678 OPTION(osd_recovery_max_active_ssd
, OPT_U64
)
679 OPTION(osd_recovery_max_single_start
, OPT_U64
)
680 OPTION(osd_recovery_max_chunk
, OPT_U64
) // max size of push chunk
681 OPTION(osd_recovery_max_omap_entries_per_chunk
, OPT_U64
) // max number of omap entries per chunk; 0 to disable limit
682 OPTION(osd_copyfrom_max_chunk
, OPT_U64
) // max size of a COPYFROM chunk
683 OPTION(osd_push_per_object_cost
, OPT_U64
) // push cost per object
684 OPTION(osd_max_push_cost
, OPT_U64
) // max size of push message
685 OPTION(osd_max_push_objects
, OPT_U64
) // max objects in single push op
686 OPTION(osd_max_scrubs
, OPT_INT
)
687 OPTION(osd_scrub_during_recovery
, OPT_BOOL
) // Allow new scrubs to start while recovery is active on the OSD
688 OPTION(osd_repair_during_recovery
, OPT_BOOL
) // Allow new requested repairs to start while recovery is active on the OSD
689 OPTION(osd_scrub_begin_hour
, OPT_INT
)
690 OPTION(osd_scrub_end_hour
, OPT_INT
)
691 OPTION(osd_scrub_begin_week_day
, OPT_INT
)
692 OPTION(osd_scrub_end_week_day
, OPT_INT
)
693 OPTION(osd_scrub_load_threshold
, OPT_FLOAT
)
694 OPTION(osd_scrub_min_interval
, OPT_FLOAT
) // if load is low
695 OPTION(osd_scrub_max_interval
, OPT_FLOAT
) // regardless of load
696 OPTION(osd_scrub_interval_randomize_ratio
, OPT_FLOAT
) // randomize the scheduled scrub in the span of [min,min*(1+randomize_ratio))
697 OPTION(osd_scrub_backoff_ratio
, OPT_DOUBLE
) // the probability to back off the scheduled scrub
698 OPTION(osd_scrub_chunk_min
, OPT_INT
)
699 OPTION(osd_scrub_chunk_max
, OPT_INT
)
700 OPTION(osd_scrub_sleep
, OPT_FLOAT
) // sleep between [deep]scrub ops
701 OPTION(osd_scrub_extended_sleep
, OPT_FLOAT
) // more sleep between [deep]scrub ops
702 OPTION(osd_scrub_auto_repair
, OPT_BOOL
) // whether auto-repair inconsistencies upon deep-scrubbing
703 OPTION(osd_scrub_auto_repair_num_errors
, OPT_U32
) // only auto-repair when number of errors is below this threshold
704 OPTION(osd_deep_scrub_interval
, OPT_FLOAT
) // once a week
705 OPTION(osd_deep_scrub_randomize_ratio
, OPT_FLOAT
) // scrubs will randomly become deep scrubs at this rate (0.15 -> 15% of scrubs are deep)
706 OPTION(osd_deep_scrub_stride
, OPT_INT
)
707 OPTION(osd_deep_scrub_keys
, OPT_INT
)
708 OPTION(osd_deep_scrub_update_digest_min_age
, OPT_INT
) // objects must be this old (seconds) before we update the whole-object digest on scrub
709 OPTION(osd_skip_data_digest
, OPT_BOOL
)
710 OPTION(osd_deep_scrub_large_omap_object_key_threshold
, OPT_U64
)
711 OPTION(osd_deep_scrub_large_omap_object_value_sum_threshold
, OPT_U64
)
712 OPTION(osd_class_dir
, OPT_STR
) // where rados plugins are stored
713 OPTION(osd_open_classes_on_start
, OPT_BOOL
)
714 OPTION(osd_class_load_list
, OPT_STR
) // list of object classes allowed to be loaded (allow all: *)
715 OPTION(osd_class_default_list
, OPT_STR
) // list of object classes with default execute perm (allow all: *)
716 OPTION(osd_check_for_log_corruption
, OPT_BOOL
)
717 OPTION(osd_use_stale_snap
, OPT_BOOL
)
718 OPTION(osd_rollback_to_cluster_snap
, OPT_STR
)
719 OPTION(osd_default_notify_timeout
, OPT_U32
) // default notify timeout in seconds
720 OPTION(osd_kill_backfill_at
, OPT_INT
)
722 // Bounds how infrequently a new map epoch will be persisted for a pg
723 OPTION(osd_pg_epoch_persisted_max_stale
, OPT_U32
) // make this < map_cache_size!
725 OPTION(osd_target_pg_log_entries_per_osd
, OPT_U32
)
726 OPTION(osd_min_pg_log_entries
, OPT_U32
) // number of entries to keep in the pg log when trimming it
727 OPTION(osd_max_pg_log_entries
, OPT_U32
) // max entries, say when degraded, before we trim
728 OPTION(osd_pg_log_dups_tracked
, OPT_U32
) // how many versions back to track combined in both pglog's regular + dup logs
729 OPTION(osd_object_clean_region_max_num_intervals
, OPT_INT
) // number of intervals in clean_offsets
730 OPTION(osd_force_recovery_pg_log_entries_factor
, OPT_FLOAT
) // max entries factor before force recovery
731 OPTION(osd_pg_log_trim_min
, OPT_U32
)
732 OPTION(osd_pg_log_trim_max
, OPT_U32
)
733 OPTION(osd_op_complaint_time
, OPT_FLOAT
) // how many seconds old makes an op complaint-worthy
734 OPTION(osd_command_max_records
, OPT_INT
)
735 OPTION(osd_max_pg_blocked_by
, OPT_U32
) // max peer osds to report that are blocking our progress
736 OPTION(osd_op_log_threshold
, OPT_INT
) // how many op log messages to show in one go
737 OPTION(osd_backoff_on_unfound
, OPT_BOOL
) // object unfound
738 OPTION(osd_backoff_on_degraded
, OPT_BOOL
) // [mainly for debug?] object unreadable/writeable
739 OPTION(osd_backoff_on_peering
, OPT_BOOL
) // [debug] pg peering
740 OPTION(osd_debug_crash_on_ignored_backoff
, OPT_BOOL
) // crash osd if client ignores a backoff; useful for debugging
741 OPTION(osd_debug_inject_dispatch_delay_probability
, OPT_DOUBLE
)
742 OPTION(osd_debug_inject_dispatch_delay_duration
, OPT_DOUBLE
)
743 OPTION(osd_debug_drop_ping_probability
, OPT_DOUBLE
)
744 OPTION(osd_debug_drop_ping_duration
, OPT_INT
)
745 OPTION(osd_debug_op_order
, OPT_BOOL
)
746 OPTION(osd_debug_verify_missing_on_start
, OPT_BOOL
)
747 OPTION(osd_debug_verify_snaps
, OPT_BOOL
)
748 OPTION(osd_debug_verify_stray_on_activate
, OPT_BOOL
)
749 OPTION(osd_debug_skip_full_check_in_backfill_reservation
, OPT_BOOL
)
750 OPTION(osd_debug_reject_backfill_probability
, OPT_DOUBLE
)
751 OPTION(osd_debug_inject_copyfrom_error
, OPT_BOOL
) // inject failure during copyfrom completion
752 OPTION(osd_debug_misdirected_ops
, OPT_BOOL
)
753 OPTION(osd_debug_skip_full_check_in_recovery
, OPT_BOOL
)
754 OPTION(osd_debug_random_push_read_error
, OPT_DOUBLE
)
755 OPTION(osd_debug_verify_cached_snaps
, OPT_BOOL
)
756 OPTION(osd_debug_deep_scrub_sleep
, OPT_FLOAT
)
757 OPTION(osd_debug_no_acting_change
, OPT_BOOL
)
758 OPTION(osd_debug_pretend_recovery_active
, OPT_BOOL
)
759 OPTION(osd_enable_op_tracker
, OPT_BOOL
) // enable/disable OSD op tracking
760 OPTION(osd_num_op_tracker_shard
, OPT_U32
) // The number of shards for holding the ops
761 OPTION(osd_op_history_size
, OPT_U32
) // Max number of completed ops to track
762 OPTION(osd_op_history_duration
, OPT_U32
) // Oldest completed op to track
763 OPTION(osd_op_history_slow_op_size
, OPT_U32
) // Max number of slow ops to track
764 OPTION(osd_op_history_slow_op_threshold
, OPT_DOUBLE
) // track the op if over this threshold
765 OPTION(osd_target_transaction_size
, OPT_INT
) // to adjust various transactions that batch smaller items
766 OPTION(osd_failsafe_full_ratio
, OPT_FLOAT
) // what % full makes an OSD "full" (failsafe)
767 OPTION(osd_fast_shutdown
, OPT_BOOL
)
768 OPTION(osd_fast_fail_on_connection_refused
, OPT_BOOL
) // immediately mark OSDs as down once they refuse to accept connections
770 OPTION(osd_pg_object_context_cache_count
, OPT_INT
)
771 OPTION(osd_tracing
, OPT_BOOL
) // true if LTTng-UST tracepoints should be enabled
772 OPTION(osd_function_tracing
, OPT_BOOL
) // true if function instrumentation should use LTTng
774 OPTION(osd_fast_info
, OPT_BOOL
) // use fast info attr, if we can
776 // determines whether PGLog::check() compares written out log to stored log
777 OPTION(osd_debug_pg_log_writeout
, OPT_BOOL
)
778 OPTION(osd_loop_before_reset_tphandle
, OPT_U32
) // Max number of loop before we reset thread-pool's handle
779 OPTION(osd_max_snap_prune_intervals_per_epoch
, OPT_U64
) // Max number of snap intervals to report to mgr in pg_stat_t
781 // default timeout while caling WaitInterval on an empty queue
782 OPTION(threadpool_default_timeout
, OPT_INT
)
783 // default wait time for an empty queue before pinging the hb timeout
784 OPTION(threadpool_empty_queue_max_wait
, OPT_INT
)
786 OPTION(leveldb_log_to_ceph_log
, OPT_BOOL
)
787 OPTION(leveldb_write_buffer_size
, OPT_U64
) // leveldb write buffer size
788 OPTION(leveldb_cache_size
, OPT_U64
) // leveldb cache size
789 OPTION(leveldb_block_size
, OPT_U64
) // leveldb block size
790 OPTION(leveldb_bloom_size
, OPT_INT
) // leveldb bloom bits per entry
791 OPTION(leveldb_max_open_files
, OPT_INT
) // leveldb max open files
792 OPTION(leveldb_compression
, OPT_BOOL
) // leveldb uses compression
793 OPTION(leveldb_paranoid
, OPT_BOOL
) // leveldb paranoid flag
794 OPTION(leveldb_log
, OPT_STR
) // enable leveldb log file
795 OPTION(leveldb_compact_on_mount
, OPT_BOOL
)
797 OPTION(rocksdb_log_to_ceph_log
, OPT_BOOL
) // log to ceph log
798 OPTION(rocksdb_cache_size
, OPT_U64
) // rocksdb cache size (unless set by bluestore/etc)
799 OPTION(rocksdb_cache_row_ratio
, OPT_FLOAT
) // ratio of cache for row (vs block)
800 OPTION(rocksdb_cache_shard_bits
, OPT_INT
) // rocksdb block cache shard bits, 4 bit -> 16 shards
801 OPTION(rocksdb_cache_type
, OPT_STR
) // 'lru' or 'clock'
802 OPTION(rocksdb_block_size
, OPT_INT
) // default rocksdb block size
803 OPTION(rocksdb_perf
, OPT_BOOL
) // Enabling this will have 5-10% impact on performance for the stats collection
804 OPTION(rocksdb_collect_compaction_stats
, OPT_BOOL
) //For rocksdb, this behavior will be an overhead of 5%~10%, collected only rocksdb_perf is enabled.
805 OPTION(rocksdb_collect_extended_stats
, OPT_BOOL
) //For rocksdb, this behavior will be an overhead of 5%~10%, collected only rocksdb_perf is enabled.
806 OPTION(rocksdb_collect_memory_stats
, OPT_BOOL
) //For rocksdb, this behavior will be an overhead of 5%~10%, collected only rocksdb_perf is enabled.
808 // rocksdb options that will be used for omap(if omap_backend is rocksdb)
809 OPTION(filestore_rocksdb_options
, OPT_STR
)
810 // rocksdb options that will be used in monstore
811 OPTION(mon_rocksdb_options
, OPT_STR
)
814 * osd_*_priority adjust the relative priority of client io, recovery io,
817 * osd_*_priority determines the ratio of available io between client and
818 * recovery. Each option may be set between
821 OPTION(osd_client_op_priority
, OPT_U32
)
822 OPTION(osd_recovery_op_priority
, OPT_U32
)
823 OPTION(osd_peering_op_priority
, OPT_U32
)
825 OPTION(osd_snap_trim_priority
, OPT_U32
)
826 OPTION(osd_snap_trim_cost
, OPT_U32
) // set default cost equal to 1MB io
828 OPTION(osd_scrub_priority
, OPT_U32
)
829 // set default cost equal to 50MB io
830 OPTION(osd_scrub_cost
, OPT_U32
)
831 // set requested scrub priority higher than scrub priority to make the
832 // requested scrubs jump the queue of scheduled scrubs
833 OPTION(osd_requested_scrub_priority
, OPT_U32
)
835 OPTION(osd_pg_delete_priority
, OPT_U32
)
836 OPTION(osd_pg_delete_cost
, OPT_U32
) // set default cost equal to 1MB io
838 OPTION(osd_recovery_priority
, OPT_U32
)
839 // set default cost equal to 20MB io
840 OPTION(osd_recovery_cost
, OPT_U32
)
843 * osd_recovery_op_warn_multiple scales the normal warning threshold,
844 * osd_op_complaint_time, so that slow recovery ops won't cause noise
846 OPTION(osd_recovery_op_warn_multiple
, OPT_U32
)
848 // Max time to wait between notifying mon of shutdown and shutting down
849 OPTION(osd_mon_shutdown_timeout
, OPT_DOUBLE
)
850 OPTION(osd_shutdown_pgref_assert
, OPT_BOOL
) // crash if the OSD has stray PG refs on shutdown
852 OPTION(osd_max_object_size
, OPT_U64
) // OSD's maximum object size
853 OPTION(osd_max_object_name_len
, OPT_U32
) // max rados object name len
854 OPTION(osd_max_object_namespace_len
, OPT_U32
) // max rados object namespace len
855 OPTION(osd_max_attr_name_len
, OPT_U32
) // max rados attr name len; cannot go higher than 100 chars for file system backends
856 OPTION(osd_max_attr_size
, OPT_U64
)
858 OPTION(osd_max_omap_entries_per_request
, OPT_U64
)
859 OPTION(osd_max_omap_bytes_per_request
, OPT_U64
)
860 OPTION(osd_max_write_op_reply_len
, OPT_U64
)
862 OPTION(osd_objectstore
, OPT_STR
) // ObjectStore backend type
863 OPTION(osd_objectstore_tracing
, OPT_BOOL
) // true if LTTng-UST tracepoints should be enabled
864 OPTION(osd_objectstore_fuse
, OPT_BOOL
)
866 OPTION(osd_bench_small_size_max_iops
, OPT_U32
) // 100 IOPS
867 OPTION(osd_bench_large_size_max_throughput
, OPT_U64
) // 100 MB/s
868 OPTION(osd_bench_max_block_size
, OPT_U64
) // cap the block size at 64MB
869 OPTION(osd_bench_duration
, OPT_U32
) // duration of 'osd bench', capped at 30s to avoid triggering timeouts
871 OPTION(osd_blkin_trace_all
, OPT_BOOL
) // create a blkin trace for all osd requests
872 OPTION(osdc_blkin_trace_all
, OPT_BOOL
) // create a blkin trace for all objecter requests
874 OPTION(osd_discard_disconnected_ops
, OPT_BOOL
)
876 OPTION(memstore_device_bytes
, OPT_U64
)
877 OPTION(memstore_page_set
, OPT_BOOL
)
878 OPTION(memstore_page_size
, OPT_U64
)
879 OPTION(memstore_debug_omit_block_device_write
, OPT_BOOL
)
881 OPTION(bdev_debug_inflight_ios
, OPT_BOOL
)
882 OPTION(bdev_inject_crash
, OPT_INT
) // if N>0, then ~ 1/N IOs will complete before we crash on flush.
883 OPTION(bdev_inject_crash_flush_delay
, OPT_INT
) // wait N more seconds on flush
884 OPTION(bdev_aio
, OPT_BOOL
)
885 OPTION(bdev_aio_poll_ms
, OPT_INT
) // milliseconds
886 OPTION(bdev_aio_max_queue_depth
, OPT_INT
)
887 OPTION(bdev_aio_reap_max
, OPT_INT
)
888 OPTION(bdev_block_size
, OPT_INT
)
889 OPTION(bdev_debug_aio
, OPT_BOOL
)
890 OPTION(bdev_debug_aio_suicide_timeout
, OPT_FLOAT
)
891 OPTION(bdev_debug_aio_log_age
, OPT_DOUBLE
)
893 // if yes, osd will unbind all NVMe devices from kernel driver and bind them
894 // to the uio_pci_generic driver. The purpose is to prevent the case where
895 // NVMe driver is loaded while osd is running.
896 OPTION(bdev_nvme_unbind_from_kernel
, OPT_BOOL
)
897 OPTION(bdev_nvme_retry_count
, OPT_INT
) // -1 means by default which is 4
898 OPTION(bdev_enable_discard
, OPT_BOOL
)
899 OPTION(bdev_async_discard
, OPT_BOOL
)
901 OPTION(objectstore_blackhole
, OPT_BOOL
)
903 OPTION(bluefs_alloc_size
, OPT_U64
)
904 OPTION(bluefs_shared_alloc_size
, OPT_U64
)
905 OPTION(bluefs_max_prefetch
, OPT_U64
)
906 OPTION(bluefs_min_log_runway
, OPT_U64
) // alloc when we get this low
907 OPTION(bluefs_max_log_runway
, OPT_U64
) // alloc this much at a time
908 OPTION(bluefs_log_compact_min_ratio
, OPT_FLOAT
) // before we consider
909 OPTION(bluefs_log_compact_min_size
, OPT_U64
) // before we consider
910 OPTION(bluefs_min_flush_size
, OPT_U64
) // ignore flush until its this big
911 OPTION(bluefs_compact_log_sync
, OPT_BOOL
) // sync or async log compaction?
912 OPTION(bluefs_buffered_io
, OPT_BOOL
)
913 OPTION(bluefs_sync_write
, OPT_BOOL
)
914 OPTION(bluefs_allocator
, OPT_STR
) // stupid | bitmap
915 OPTION(bluefs_preextend_wal_files
, OPT_BOOL
) // this *requires* that rocksdb has recycling enabled
916 OPTION(bluefs_log_replay_check_allocations
, OPT_BOOL
)
918 OPTION(bluestore_bluefs
, OPT_BOOL
)
919 OPTION(bluestore_bluefs_env_mirror
, OPT_BOOL
) // mirror to normal Env for debug
920 OPTION(bluestore_bluefs_min
, OPT_U64
) // 1gb
921 OPTION(bluestore_bluefs_min_ratio
, OPT_FLOAT
) // min fs free / total free
922 OPTION(bluestore_bluefs_max_ratio
, OPT_FLOAT
) // max fs free / total free
923 OPTION(bluestore_bluefs_gift_ratio
, OPT_FLOAT
) // how much to add at a time
924 OPTION(bluestore_bluefs_reclaim_ratio
, OPT_FLOAT
) // how much to reclaim at a time
925 OPTION(bluestore_bluefs_balance_interval
, OPT_FLOAT
) // how often (sec) to balance free space between bluefs and bluestore
926 // how often (sec) to dump allocator on allocation failure
927 OPTION(bluestore_bluefs_alloc_failure_dump_interval
, OPT_FLOAT
)
929 // Enforces db sync with legacy bluefs extents information on close.
930 // Enables downgrades to pre-nautilus releases
931 OPTION(bluestore_bluefs_db_compatibility
, OPT_BOOL
)
933 // If you want to use spdk driver, you need to specify NVMe serial number here
934 // with "spdk:" prefix.
935 // Users can use 'lspci -vvv -d 8086:0953 | grep "Device Serial Number"' to
936 // get the serial number of Intel(R) Fultondale NVMe controllers.
938 // bluestore_block_path = spdk:55cd2e404bd73932
939 OPTION(bluestore_block_path
, OPT_STR
)
940 OPTION(bluestore_block_size
, OPT_U64
) // 10gb for testing
941 OPTION(bluestore_block_create
, OPT_BOOL
)
942 OPTION(bluestore_block_db_path
, OPT_STR
)
943 OPTION(bluestore_block_db_size
, OPT_U64
) // rocksdb ssts (hot/warm)
944 OPTION(bluestore_block_db_create
, OPT_BOOL
)
945 OPTION(bluestore_block_wal_path
, OPT_STR
)
946 OPTION(bluestore_block_wal_size
, OPT_U64
) // rocksdb wal
947 OPTION(bluestore_block_wal_create
, OPT_BOOL
)
948 OPTION(bluestore_block_preallocate_file
, OPT_BOOL
) //whether preallocate space if block/db_path/wal_path is file rather that block device.
949 OPTION(bluestore_ignore_data_csum
, OPT_BOOL
)
950 OPTION(bluestore_csum_type
, OPT_STR
) // none|xxhash32|xxhash64|crc32c|crc32c_16|crc32c_8
951 OPTION(bluestore_retry_disk_reads
, OPT_U64
)
952 OPTION(bluestore_min_alloc_size
, OPT_U32
)
953 OPTION(bluestore_min_alloc_size_hdd
, OPT_U32
)
954 OPTION(bluestore_min_alloc_size_ssd
, OPT_U32
)
955 OPTION(bluestore_max_alloc_size
, OPT_U32
)
956 OPTION(bluestore_prefer_deferred_size
, OPT_U32
)
957 OPTION(bluestore_prefer_deferred_size_hdd
, OPT_U32
)
958 OPTION(bluestore_prefer_deferred_size_ssd
, OPT_U32
)
959 OPTION(bluestore_compression_mode
, OPT_STR
) // force|aggressive|passive|none
960 OPTION(bluestore_compression_algorithm
, OPT_STR
)
961 OPTION(bluestore_compression_min_blob_size
, OPT_U32
)
962 OPTION(bluestore_compression_min_blob_size_hdd
, OPT_U32
)
963 OPTION(bluestore_compression_min_blob_size_ssd
, OPT_U32
)
964 OPTION(bluestore_compression_max_blob_size
, OPT_U32
)
965 OPTION(bluestore_compression_max_blob_size_hdd
, OPT_U32
)
966 OPTION(bluestore_compression_max_blob_size_ssd
, OPT_U32
)
968 * Specifies minimum expected amount of saved allocation units
969 * per single blob to enable compressed blobs garbage collection
972 OPTION(bluestore_gc_enable_blob_threshold
, OPT_INT
)
974 * Specifies minimum expected amount of saved allocation units
975 * per all blobsb to enable compressed blobs garbage collection
978 OPTION(bluestore_gc_enable_total_threshold
, OPT_INT
)
980 OPTION(bluestore_max_blob_size
, OPT_U32
)
981 OPTION(bluestore_max_blob_size_hdd
, OPT_U32
)
982 OPTION(bluestore_max_blob_size_ssd
, OPT_U32
)
984 * Require the net gain of compression at least to be at this ratio,
985 * otherwise we don't compress.
986 * And ask for compressing at least 12.5%(1/8) off, by default.
988 OPTION(bluestore_compression_required_ratio
, OPT_DOUBLE
)
989 OPTION(bluestore_extent_map_shard_max_size
, OPT_U32
)
990 OPTION(bluestore_extent_map_shard_target_size
, OPT_U32
)
991 OPTION(bluestore_extent_map_shard_min_size
, OPT_U32
)
992 OPTION(bluestore_extent_map_shard_target_size_slop
, OPT_DOUBLE
)
993 OPTION(bluestore_extent_map_inline_shard_prealloc_size
, OPT_U32
)
994 OPTION(bluestore_cache_trim_interval
, OPT_DOUBLE
)
995 OPTION(bluestore_cache_trim_max_skip_pinned
, OPT_U32
) // skip this many onodes pinned in cache before we give up
996 OPTION(bluestore_cache_type
, OPT_STR
) // lru, 2q
997 OPTION(bluestore_2q_cache_kin_ratio
, OPT_DOUBLE
) // kin page slot size / max page slot size
998 OPTION(bluestore_2q_cache_kout_ratio
, OPT_DOUBLE
) // number of kout page slot / total number of page slot
999 OPTION(bluestore_cache_size
, OPT_U64
)
1000 OPTION(bluestore_cache_size_hdd
, OPT_U64
)
1001 OPTION(bluestore_cache_size_ssd
, OPT_U64
)
1002 OPTION(bluestore_cache_meta_ratio
, OPT_DOUBLE
)
1003 OPTION(bluestore_cache_kv_ratio
, OPT_DOUBLE
)
1004 OPTION(bluestore_alloc_stats_dump_interval
, OPT_DOUBLE
)
1005 OPTION(bluestore_kvbackend
, OPT_STR
)
1006 OPTION(bluestore_allocator
, OPT_STR
) // stupid | bitmap
1007 OPTION(bluestore_freelist_blocks_per_key
, OPT_INT
)
1008 OPTION(bluestore_bitmapallocator_blocks_per_zone
, OPT_INT
) // must be power of 2 aligned, e.g., 512, 1024, 2048...
1009 OPTION(bluestore_bitmapallocator_span_size
, OPT_INT
) // must be power of 2 aligned, e.g., 512, 1024, 2048...
1010 OPTION(bluestore_max_deferred_txc
, OPT_U64
)
1011 OPTION(bluestore_max_defer_interval
, OPT_U64
)
1012 OPTION(bluestore_rocksdb_options
, OPT_STR
)
1013 OPTION(bluestore_fsck_on_mount
, OPT_BOOL
)
1014 OPTION(bluestore_fsck_on_mount_deep
, OPT_BOOL
)
1015 OPTION(bluestore_fsck_quick_fix_on_mount
, OPT_BOOL
)
1016 OPTION(bluestore_fsck_on_umount
, OPT_BOOL
)
1017 OPTION(bluestore_fsck_on_umount_deep
, OPT_BOOL
)
1018 OPTION(bluestore_fsck_on_mkfs
, OPT_BOOL
)
1019 OPTION(bluestore_fsck_on_mkfs_deep
, OPT_BOOL
)
1020 OPTION(bluestore_sync_submit_transaction
, OPT_BOOL
) // submit kv txn in queueing thread (not kv_sync_thread)
1021 OPTION(bluestore_fsck_read_bytes_cap
, OPT_U64
)
1022 OPTION(bluestore_fsck_quick_fix_threads
, OPT_INT
)
1023 OPTION(bluestore_throttle_bytes
, OPT_U64
)
1024 OPTION(bluestore_throttle_deferred_bytes
, OPT_U64
)
1025 OPTION(bluestore_throttle_cost_per_io_hdd
, OPT_U64
)
1026 OPTION(bluestore_throttle_cost_per_io_ssd
, OPT_U64
)
1027 OPTION(bluestore_throttle_cost_per_io
, OPT_U64
)
1028 OPTION(bluestore_deferred_batch_ops
, OPT_U64
)
1029 OPTION(bluestore_deferred_batch_ops_hdd
, OPT_U64
)
1030 OPTION(bluestore_deferred_batch_ops_ssd
, OPT_U64
)
1031 OPTION(bluestore_nid_prealloc
, OPT_INT
)
1032 OPTION(bluestore_blobid_prealloc
, OPT_U64
)
1033 OPTION(bluestore_clone_cow
, OPT_BOOL
) // do copy-on-write for clones
1034 OPTION(bluestore_default_buffered_read
, OPT_BOOL
)
1035 OPTION(bluestore_default_buffered_write
, OPT_BOOL
)
1036 OPTION(bluestore_debug_misc
, OPT_BOOL
)
1037 OPTION(bluestore_debug_no_reuse_blocks
, OPT_BOOL
)
1038 OPTION(bluestore_debug_small_allocations
, OPT_INT
)
1039 OPTION(bluestore_debug_too_many_blobs_threshold
, OPT_INT
)
1040 OPTION(bluestore_debug_freelist
, OPT_BOOL
)
1041 OPTION(bluestore_debug_prefill
, OPT_FLOAT
)
1042 OPTION(bluestore_debug_prefragment_max
, OPT_INT
)
1043 OPTION(bluestore_debug_inject_read_err
, OPT_BOOL
)
1044 OPTION(bluestore_debug_randomize_serial_transaction
, OPT_INT
)
1045 OPTION(bluestore_debug_omit_block_device_write
, OPT_BOOL
)
1046 OPTION(bluestore_debug_fsck_abort
, OPT_BOOL
)
1047 OPTION(bluestore_debug_omit_kv_commit
, OPT_BOOL
)
1048 OPTION(bluestore_debug_permit_any_bdev_label
, OPT_BOOL
)
1049 OPTION(bluestore_debug_random_read_err
, OPT_DOUBLE
)
1050 OPTION(bluestore_debug_inject_bug21040
, OPT_BOOL
)
1051 OPTION(bluestore_debug_inject_csum_err_probability
, OPT_FLOAT
)
1052 OPTION(bluestore_fsck_error_on_no_per_pool_stats
, OPT_BOOL
)
1053 OPTION(bluestore_warn_on_bluefs_spillover
, OPT_BOOL
)
1054 OPTION(bluestore_warn_on_legacy_statfs
, OPT_BOOL
)
1055 OPTION(bluestore_fsck_error_on_no_per_pool_omap
, OPT_BOOL
)
1056 OPTION(bluestore_warn_on_no_per_pool_omap
, OPT_BOOL
)
1057 OPTION(bluestore_log_op_age
, OPT_DOUBLE
)
1058 OPTION(bluestore_log_omap_iterator_age
, OPT_DOUBLE
)
1059 OPTION(bluestore_log_collection_list_age
, OPT_DOUBLE
)
1060 OPTION(bluestore_debug_enforce_settings
, OPT_STR
)
1061 OPTION(bluestore_volume_selection_policy
, OPT_STR
)
1062 OPTION(bluestore_volume_selection_reserved_factor
, OPT_DOUBLE
)
1063 OPTION(bluestore_volume_selection_reserved
, OPT_INT
)
1065 OPTION(kstore_max_ops
, OPT_U64
)
1066 OPTION(kstore_max_bytes
, OPT_U64
)
1067 OPTION(kstore_backend
, OPT_STR
)
1068 OPTION(kstore_rocksdb_options
, OPT_STR
)
1069 OPTION(kstore_fsck_on_mount
, OPT_BOOL
)
1070 OPTION(kstore_fsck_on_mount_deep
, OPT_BOOL
)
1071 OPTION(kstore_nid_prealloc
, OPT_U64
)
1072 OPTION(kstore_sync_transaction
, OPT_BOOL
)
1073 OPTION(kstore_sync_submit_transaction
, OPT_BOOL
)
1074 OPTION(kstore_onode_map_size
, OPT_U64
)
1075 OPTION(kstore_default_stripe_size
, OPT_INT
)
1077 OPTION(filestore_omap_backend
, OPT_STR
)
1078 OPTION(filestore_omap_backend_path
, OPT_STR
)
1080 /// filestore wb throttle limits
1081 OPTION(filestore_wbthrottle_enable
, OPT_BOOL
)
1082 OPTION(filestore_wbthrottle_btrfs_bytes_start_flusher
, OPT_U64
)
1083 OPTION(filestore_wbthrottle_btrfs_bytes_hard_limit
, OPT_U64
)
1084 OPTION(filestore_wbthrottle_btrfs_ios_start_flusher
, OPT_U64
)
1085 OPTION(filestore_wbthrottle_btrfs_ios_hard_limit
, OPT_U64
)
1086 OPTION(filestore_wbthrottle_btrfs_inodes_start_flusher
, OPT_U64
)
1087 OPTION(filestore_wbthrottle_xfs_bytes_start_flusher
, OPT_U64
)
1088 OPTION(filestore_wbthrottle_xfs_bytes_hard_limit
, OPT_U64
)
1089 OPTION(filestore_wbthrottle_xfs_ios_start_flusher
, OPT_U64
)
1090 OPTION(filestore_wbthrottle_xfs_ios_hard_limit
, OPT_U64
)
1091 OPTION(filestore_wbthrottle_xfs_inodes_start_flusher
, OPT_U64
)
1093 /// These must be less than the fd limit
1094 OPTION(filestore_wbthrottle_btrfs_inodes_hard_limit
, OPT_U64
)
1095 OPTION(filestore_wbthrottle_xfs_inodes_hard_limit
, OPT_U64
)
1097 //Introduce a O_DSYNC write in the filestore
1098 OPTION(filestore_odsync_write
, OPT_BOOL
)
1100 // Tests index failure paths
1101 OPTION(filestore_index_retry_probability
, OPT_DOUBLE
)
1103 // Allow object read error injection
1104 OPTION(filestore_debug_inject_read_err
, OPT_BOOL
)
1105 OPTION(filestore_debug_random_read_err
, OPT_DOUBLE
)
1107 OPTION(filestore_debug_omap_check
, OPT_BOOL
) // Expensive debugging check on sync
1108 OPTION(filestore_omap_header_cache_size
, OPT_INT
)
1110 // Use omap for xattrs for attrs over
1111 // filestore_max_inline_xattr_size or
1112 OPTION(filestore_max_inline_xattr_size
, OPT_U32
) //Override
1113 OPTION(filestore_max_inline_xattr_size_xfs
, OPT_U32
)
1114 OPTION(filestore_max_inline_xattr_size_btrfs
, OPT_U32
)
1115 OPTION(filestore_max_inline_xattr_size_other
, OPT_U32
)
1117 // for more than filestore_max_inline_xattrs attrs
1118 OPTION(filestore_max_inline_xattrs
, OPT_U32
) //Override
1119 OPTION(filestore_max_inline_xattrs_xfs
, OPT_U32
)
1120 OPTION(filestore_max_inline_xattrs_btrfs
, OPT_U32
)
1121 OPTION(filestore_max_inline_xattrs_other
, OPT_U32
)
1123 // max xattr value size
1124 OPTION(filestore_max_xattr_value_size
, OPT_U32
) //Override
1125 OPTION(filestore_max_xattr_value_size_xfs
, OPT_U32
)
1126 OPTION(filestore_max_xattr_value_size_btrfs
, OPT_U32
)
1127 // ext4 allows 4k xattrs total including some smallish extra fields and the
1128 // keys. We're allowing 2 512 inline attrs in addition some some filestore
1129 // replay attrs. After accounting for those, we still need to fit up to
1130 // two attrs of this value. That means we need this value to be around 1k
1131 // to be safe. This is hacky, but it's not worth complicating the code
1132 // to work around ext4's total xattr limit.
1133 OPTION(filestore_max_xattr_value_size_other
, OPT_U32
)
1135 OPTION(filestore_sloppy_crc
, OPT_BOOL
) // track sloppy crcs
1136 OPTION(filestore_sloppy_crc_block_size
, OPT_INT
)
1138 OPTION(filestore_max_alloc_hint_size
, OPT_U64
) // bytes
1140 OPTION(filestore_max_sync_interval
, OPT_DOUBLE
) // seconds
1141 OPTION(filestore_min_sync_interval
, OPT_DOUBLE
) // seconds
1142 OPTION(filestore_btrfs_snap
, OPT_BOOL
)
1143 OPTION(filestore_btrfs_clone_range
, OPT_BOOL
)
1144 OPTION(filestore_zfs_snap
, OPT_BOOL
) // zfsonlinux is still unstable
1145 OPTION(filestore_fsync_flushes_journal_data
, OPT_BOOL
)
1146 OPTION(filestore_fiemap
, OPT_BOOL
) // (try to) use fiemap
1147 OPTION(filestore_punch_hole
, OPT_BOOL
)
1148 OPTION(filestore_seek_data_hole
, OPT_BOOL
) // (try to) use seek_data/hole
1149 OPTION(filestore_splice
, OPT_BOOL
)
1150 OPTION(filestore_fadvise
, OPT_BOOL
)
1151 //collect device partition information for management application to use
1152 OPTION(filestore_collect_device_partition_information
, OPT_BOOL
)
1154 // (try to) use extsize for alloc hint NOTE: extsize seems to trigger
1155 // data corruption in xfs prior to kernel 3.5. filestore will
1156 // implicitly disable this if it cannot confirm the kernel is newer
1158 // NOTE: This option involves a tradeoff: When disabled, fragmentation is
1159 // worse, but large sequential writes are faster. When enabled, large
1160 // sequential writes are slower, but fragmentation is reduced.
1161 OPTION(filestore_xfs_extsize
, OPT_BOOL
)
1163 OPTION(filestore_journal_parallel
, OPT_BOOL
)
1164 OPTION(filestore_journal_writeahead
, OPT_BOOL
)
1165 OPTION(filestore_journal_trailing
, OPT_BOOL
)
1166 OPTION(filestore_queue_max_ops
, OPT_U64
)
1167 OPTION(filestore_queue_max_bytes
, OPT_U64
)
1169 OPTION(filestore_caller_concurrency
, OPT_INT
)
1171 /// Expected filestore throughput in B/s
1172 OPTION(filestore_expected_throughput_bytes
, OPT_DOUBLE
)
1173 /// Expected filestore throughput in ops/s
1174 OPTION(filestore_expected_throughput_ops
, OPT_DOUBLE
)
1176 /// Filestore max delay multiple. Defaults to 0 (disabled)
1177 OPTION(filestore_queue_max_delay_multiple
, OPT_DOUBLE
)
1178 /// Filestore high delay multiple. Defaults to 0 (disabled)
1179 OPTION(filestore_queue_high_delay_multiple
, OPT_DOUBLE
)
1181 /// Filestore max delay multiple bytes. Defaults to 0 (disabled)
1182 OPTION(filestore_queue_max_delay_multiple_bytes
, OPT_DOUBLE
)
1183 /// Filestore high delay multiple bytes. Defaults to 0 (disabled)
1184 OPTION(filestore_queue_high_delay_multiple_bytes
, OPT_DOUBLE
)
1186 /// Filestore max delay multiple ops. Defaults to 0 (disabled)
1187 OPTION(filestore_queue_max_delay_multiple_ops
, OPT_DOUBLE
)
1188 /// Filestore high delay multiple ops. Defaults to 0 (disabled)
1189 OPTION(filestore_queue_high_delay_multiple_ops
, OPT_DOUBLE
)
1191 /// Use above to inject delays intended to keep the op queue between low and high
1192 OPTION(filestore_queue_low_threshhold
, OPT_DOUBLE
)
1193 OPTION(filestore_queue_high_threshhold
, OPT_DOUBLE
)
1195 OPTION(filestore_op_threads
, OPT_INT
)
1196 OPTION(filestore_op_thread_timeout
, OPT_INT
)
1197 OPTION(filestore_op_thread_suicide_timeout
, OPT_INT
)
1198 OPTION(filestore_commit_timeout
, OPT_FLOAT
)
1199 OPTION(filestore_fiemap_threshold
, OPT_INT
)
1200 OPTION(filestore_merge_threshold
, OPT_INT
)
1201 OPTION(filestore_split_multiple
, OPT_INT
)
1202 OPTION(filestore_split_rand_factor
, OPT_U32
) // randomize the split threshold by adding 16 * [0)
1203 OPTION(filestore_update_to
, OPT_INT
)
1204 OPTION(filestore_blackhole
, OPT_BOOL
) // drop any new transactions on the floor
1205 OPTION(filestore_fd_cache_size
, OPT_INT
) // FD lru size
1206 OPTION(filestore_fd_cache_shards
, OPT_INT
) // FD number of shards
1207 OPTION(filestore_ondisk_finisher_threads
, OPT_INT
)
1208 OPTION(filestore_apply_finisher_threads
, OPT_INT
)
1209 OPTION(filestore_dump_file
, OPT_STR
) // file onto which store transaction dumps
1210 OPTION(filestore_kill_at
, OPT_INT
) // inject a failure at the n'th opportunity
1211 OPTION(filestore_inject_stall
, OPT_INT
) // artificially stall for N seconds in op queue thread
1212 OPTION(filestore_fail_eio
, OPT_BOOL
) // fail/crash on EIO
1213 OPTION(filestore_debug_verify_split
, OPT_BOOL
)
1214 OPTION(journal_dio
, OPT_BOOL
)
1215 OPTION(journal_aio
, OPT_BOOL
)
1216 OPTION(journal_force_aio
, OPT_BOOL
)
1217 OPTION(journal_block_size
, OPT_INT
)
1219 OPTION(journal_block_align
, OPT_BOOL
)
1220 OPTION(journal_write_header_frequency
, OPT_U64
)
1221 OPTION(journal_max_write_bytes
, OPT_INT
)
1222 OPTION(journal_max_write_entries
, OPT_INT
)
1224 /// Target range for journal fullness
1225 OPTION(journal_throttle_low_threshhold
, OPT_DOUBLE
)
1226 OPTION(journal_throttle_high_threshhold
, OPT_DOUBLE
)
1228 /// Multiple over expected at high_threshhold. Defaults to 0 (disabled).
1229 OPTION(journal_throttle_high_multiple
, OPT_DOUBLE
)
1230 /// Multiple over expected at max. Defaults to 0 (disabled).
1231 OPTION(journal_throttle_max_multiple
, OPT_DOUBLE
)
1233 OPTION(journal_align_min_size
, OPT_INT
) // align data payloads >= this.
1234 OPTION(journal_replay_from
, OPT_INT
)
1235 OPTION(journal_zero_on_create
, OPT_BOOL
)
1236 OPTION(journal_ignore_corruption
, OPT_BOOL
) // assume journal is not corrupt
1237 OPTION(journal_discard
, OPT_BOOL
) //using ssd disk as journal, whether support discard nouse journal-data.
1239 OPTION(fio_dir
, OPT_STR
) // fio data directory for fio-objectstore
1241 OPTION(rados_mon_op_timeout
, OPT_DOUBLE
) // how many seconds to wait for a response from the monitor before returning an error from a rados operation. 0 means no limit.
1242 OPTION(rados_osd_op_timeout
, OPT_DOUBLE
) // how many seconds to wait for a response from osds before returning an error from a rados operation. 0 means no limit.
1243 OPTION(rados_tracing
, OPT_BOOL
) // true if LTTng-UST tracepoints should be enabled
1246 OPTION(rgw_max_attr_name_len
, OPT_SIZE
)
1247 OPTION(rgw_max_attr_size
, OPT_SIZE
)
1248 OPTION(rgw_max_attrs_num_in_req
, OPT_U64
)
1250 OPTION(rgw_max_chunk_size
, OPT_INT
)
1251 OPTION(rgw_put_obj_min_window_size
, OPT_INT
)
1252 OPTION(rgw_put_obj_max_window_size
, OPT_INT
)
1253 OPTION(rgw_max_put_size
, OPT_U64
)
1254 OPTION(rgw_max_put_param_size
, OPT_U64
) // max input size for PUT requests accepting json/xml params
1257 * override max bucket index shards in zone configuration (if not zero)
1259 * Represents the number of shards for the bucket index object, a value of zero
1260 * indicates there is no sharding. By default (no sharding, the name of the object
1261 * is '.dir.{marker}', with sharding, the name is '.dir.{markder}.{sharding_id}',
1262 * sharding_id is zero-based value. It is not recommended to set a too large value
1263 * (e.g. thousand) as it increases the cost for bucket listing.
1265 OPTION(rgw_override_bucket_index_max_shards
, OPT_U32
)
1268 * Represents the maximum AIO pending requests for the bucket index object shards.
1270 OPTION(rgw_bucket_index_max_aio
, OPT_U32
)
1273 * whether or not the quota/gc threads should be started
1275 OPTION(rgw_enable_quota_threads
, OPT_BOOL
)
1276 OPTION(rgw_enable_gc_threads
, OPT_BOOL
)
1277 OPTION(rgw_enable_lc_threads
, OPT_BOOL
)
1280 OPTION(rgw_data
, OPT_STR
)
1281 OPTION(rgw_enable_apis
, OPT_STR
)
1282 OPTION(rgw_cache_enabled
, OPT_BOOL
) // rgw cache enabled
1283 OPTION(rgw_cache_lru_size
, OPT_INT
) // num of entries in rgw cache
1284 OPTION(rgw_socket_path
, OPT_STR
) // path to unix domain socket, if not specified, rgw will not run as external fcgi
1285 OPTION(rgw_host
, OPT_STR
) // host for radosgw, can be an IP, default is 0.0.0.0
1286 OPTION(rgw_port
, OPT_STR
) // port to listen, format as "8080" "5000", if not specified, rgw will not run external fcgi
1287 OPTION(rgw_dns_name
, OPT_STR
) // hostname suffix on buckets
1288 OPTION(rgw_dns_s3website_name
, OPT_STR
) // hostname suffix on buckets for s3-website endpoint
1289 OPTION(rgw_service_provider_name
, OPT_STR
) //service provider name which is contained in http response headers
1290 OPTION(rgw_content_length_compat
, OPT_BOOL
) // Check both HTTP_CONTENT_LENGTH and CONTENT_LENGTH in fcgi env
1291 OPTION(rgw_lifecycle_work_time
, OPT_STR
) //job process lc at 00:00-06:00s
1292 OPTION(rgw_lc_lock_max_time
, OPT_INT
) // total run time for a single lc processor work
1293 OPTION(rgw_lc_max_worker
, OPT_INT
)// number of (parellized) LCWorker threads
1294 OPTION(rgw_lc_max_wp_worker
, OPT_INT
)// number of per-LCWorker pool threads
1295 OPTION(rgw_lc_max_objs
, OPT_INT
)
1296 OPTION(rgw_lc_max_rules
, OPT_U32
) // Max rules set on one bucket
1297 OPTION(rgw_lc_debug_interval
, OPT_INT
) // Debug run interval, in seconds
1298 OPTION(rgw_script_uri
, OPT_STR
) // alternative value for SCRIPT_URI if not set in request
1299 OPTION(rgw_request_uri
, OPT_STR
) // alternative value for REQUEST_URI if not set in request
1300 OPTION(rgw_ignore_get_invalid_range
, OPT_BOOL
) // treat invalid (e.g., negative) range requests as full
1301 OPTION(rgw_swift_url
, OPT_STR
) // the swift url, being published by the internal swift auth
1302 OPTION(rgw_swift_url_prefix
, OPT_STR
) // entry point for which a url is considered a swift url
1303 OPTION(rgw_swift_auth_url
, OPT_STR
) // default URL to go and verify tokens for v1 auth (if not using internal swift auth)
1304 OPTION(rgw_swift_auth_entry
, OPT_STR
) // entry point for which a url is considered a swift auth url
1305 OPTION(rgw_swift_tenant_name
, OPT_STR
) // tenant name to use for swift access
1306 OPTION(rgw_swift_account_in_url
, OPT_BOOL
) // assume that URL always contain the account (aka tenant) part
1307 OPTION(rgw_swift_enforce_content_length
, OPT_BOOL
) // enforce generation of Content-Length even in cost of performance or scalability
1308 OPTION(rgw_keystone_url
, OPT_STR
) // url for keystone server
1309 OPTION(rgw_keystone_admin_token
, OPT_STR
) // keystone admin token (shared secret)
1310 OPTION(rgw_keystone_admin_token_path
, OPT_STR
) // path to keystone admin token (shared secret)
1311 OPTION(rgw_keystone_admin_user
, OPT_STR
) // keystone admin user name
1312 OPTION(rgw_keystone_admin_password
, OPT_STR
) // keystone admin user password
1313 OPTION(rgw_keystone_admin_password_path
, OPT_STR
) // path to keystone admin user password
1314 OPTION(rgw_keystone_admin_tenant
, OPT_STR
) // keystone admin user tenant (for keystone v2.0)
1315 OPTION(rgw_keystone_admin_project
, OPT_STR
) // keystone admin user project (for keystone v3)
1316 OPTION(rgw_keystone_admin_domain
, OPT_STR
) // keystone admin user domain
1317 OPTION(rgw_keystone_barbican_user
, OPT_STR
) // keystone user to access barbican secrets
1318 OPTION(rgw_keystone_barbican_password
, OPT_STR
) // keystone password for barbican user
1319 OPTION(rgw_keystone_barbican_tenant
, OPT_STR
) // keystone barbican user tenant (for keystone v2.0)
1320 OPTION(rgw_keystone_barbican_project
, OPT_STR
) // keystone barbican user project (for keystone v3)
1321 OPTION(rgw_keystone_barbican_domain
, OPT_STR
) // keystone barbican user domain
1322 OPTION(rgw_keystone_api_version
, OPT_INT
) // Version of Keystone API to use (2 or 3)
1323 OPTION(rgw_keystone_accepted_roles
, OPT_STR
) // roles required to serve requests
1324 OPTION(rgw_keystone_accepted_admin_roles
, OPT_STR
) // list of roles allowing an user to gain admin privileges
1325 OPTION(rgw_keystone_token_cache_size
, OPT_INT
) // max number of entries in keystone token cache
1326 OPTION(rgw_keystone_verify_ssl
, OPT_BOOL
) // should we try to verify keystone's ssl
1327 OPTION(rgw_cross_domain_policy
, OPT_STR
)
1328 OPTION(rgw_healthcheck_disabling_path
, OPT_STR
) // path that existence causes the healthcheck to respond 503
1329 OPTION(rgw_s3_auth_use_rados
, OPT_BOOL
) // should we try to use the internal credentials for s3?
1330 OPTION(rgw_s3_auth_use_keystone
, OPT_BOOL
) // should we try to use keystone for s3?
1331 OPTION(rgw_s3_auth_order
, OPT_STR
) // s3 authentication order to try
1332 OPTION(rgw_barbican_url
, OPT_STR
) // url for barbican server
1333 OPTION(rgw_opa_url
, OPT_STR
) // url for OPA server
1334 OPTION(rgw_opa_token
, OPT_STR
) // Bearer token OPA uses to authenticate client requests
1335 OPTION(rgw_opa_verify_ssl
, OPT_BOOL
) // should we try to verify OPA's ssl
1336 OPTION(rgw_use_opa_authz
, OPT_BOOL
) // should we use OPA to authorize client requests?
1338 /* OpenLDAP-style LDAP parameter strings */
1339 /* rgw_ldap_uri space-separated list of LDAP servers in URI format */
1340 OPTION(rgw_ldap_uri
, OPT_STR
)
1341 /* rgw_ldap_binddn LDAP entry RGW will bind with (user match) */
1342 OPTION(rgw_ldap_binddn
, OPT_STR
)
1343 /* rgw_ldap_searchdn LDAP search base (basedn) */
1344 OPTION(rgw_ldap_searchdn
, OPT_STR
)
1345 /* rgw_ldap_dnattr LDAP attribute containing RGW user names (to form binddns)*/
1346 OPTION(rgw_ldap_dnattr
, OPT_STR
)
1347 /* rgw_ldap_secret file containing credentials for rgw_ldap_binddn */
1348 OPTION(rgw_ldap_secret
, OPT_STR
)
1349 /* rgw_s3_auth_use_ldap use LDAP for RGW auth? */
1350 OPTION(rgw_s3_auth_use_ldap
, OPT_BOOL
)
1351 /* rgw_ldap_searchfilter LDAP search filter */
1352 OPTION(rgw_ldap_searchfilter
, OPT_STR
)
1354 OPTION(rgw_admin_entry
, OPT_STR
) // entry point for which a url is considered an admin request
1355 OPTION(rgw_enforce_swift_acls
, OPT_BOOL
)
1356 OPTION(rgw_swift_token_expiration
, OPT_INT
) // time in seconds for swift token expiration
1357 OPTION(rgw_print_continue
, OPT_BOOL
) // enable if 100-Continue works
1358 OPTION(rgw_print_prohibited_content_length
, OPT_BOOL
) // violate RFC 7230 and send Content-Length in 204 and 304
1359 OPTION(rgw_remote_addr_param
, OPT_STR
) // e.g. X-Forwarded-For, if you have a reverse proxy
1360 OPTION(rgw_op_thread_timeout
, OPT_INT
)
1361 OPTION(rgw_op_thread_suicide_timeout
, OPT_INT
)
1362 OPTION(rgw_thread_pool_size
, OPT_INT
)
1363 OPTION(rgw_num_control_oids
, OPT_INT
)
1364 OPTION(rgw_verify_ssl
, OPT_BOOL
) // should http_client try to verify ssl when sent https request
1366 /* The following are tunables for caches of RGW NFS (and other file
1369 * The file handle cache is a partitioned hash table
1370 * (fhcache_partitions), each with a closed hash part and backing
1371 * b-tree mapping. The number of partions is expected to be a small
1372 * prime, the cache size something larger but less than 5K, the total
1373 * size of the cache is n_part * cache_size.
1375 OPTION(rgw_nfs_lru_lanes
, OPT_INT
)
1376 OPTION(rgw_nfs_lru_lane_hiwat
, OPT_INT
)
1377 OPTION(rgw_nfs_fhcache_partitions
, OPT_INT
)
1378 OPTION(rgw_nfs_fhcache_size
, OPT_INT
) /* 3*2017=6051 */
1379 OPTION(rgw_nfs_namespace_expire_secs
, OPT_INT
) /* namespace invalidate
1381 OPTION(rgw_nfs_max_gc
, OPT_INT
) /* max gc events per cycle */
1382 OPTION(rgw_nfs_write_completion_interval_s
, OPT_INT
) /* stateless (V3)
1385 OPTION(rgw_nfs_s3_fast_attrs
, OPT_BOOL
) /* use fast S3 attrs from
1386 * bucket index--currently
1387 * assumes NFS mounts are
1390 OPTION(rgw_zone
, OPT_STR
) // zone name
1391 OPTION(rgw_zone_root_pool
, OPT_STR
) // pool where zone specific info is stored
1392 OPTION(rgw_default_zone_info_oid
, OPT_STR
) // oid where default zone info is stored
1393 OPTION(rgw_region
, OPT_STR
) // region name
1394 OPTION(rgw_region_root_pool
, OPT_STR
) // pool where all region info is stored
1395 OPTION(rgw_default_region_info_oid
, OPT_STR
) // oid where default region info is stored
1396 OPTION(rgw_zonegroup
, OPT_STR
) // zone group name
1397 OPTION(rgw_zonegroup_root_pool
, OPT_STR
) // pool where all zone group info is stored
1398 OPTION(rgw_default_zonegroup_info_oid
, OPT_STR
) // oid where default zone group info is stored
1399 OPTION(rgw_realm
, OPT_STR
) // realm name
1400 OPTION(rgw_realm_root_pool
, OPT_STR
) // pool where all realm info is stored
1401 OPTION(rgw_default_realm_info_oid
, OPT_STR
) // oid where default realm info is stored
1402 OPTION(rgw_period_root_pool
, OPT_STR
) // pool where all period info is stored
1403 OPTION(rgw_period_latest_epoch_info_oid
, OPT_STR
) // oid where current period info is stored
1404 OPTION(rgw_log_nonexistent_bucket
, OPT_BOOL
)
1405 OPTION(rgw_log_object_name
, OPT_STR
) // man date to see codes (a subset are supported)
1406 OPTION(rgw_log_object_name_utc
, OPT_BOOL
)
1407 OPTION(rgw_usage_max_shards
, OPT_INT
)
1408 OPTION(rgw_usage_max_user_shards
, OPT_INT
)
1409 OPTION(rgw_enable_ops_log
, OPT_BOOL
) // enable logging every rgw operation
1410 OPTION(rgw_enable_usage_log
, OPT_BOOL
) // enable logging bandwidth usage
1411 OPTION(rgw_ops_log_rados
, OPT_BOOL
) // whether ops log should go to rados
1412 OPTION(rgw_ops_log_socket_path
, OPT_STR
) // path to unix domain socket where ops log can go
1413 OPTION(rgw_ops_log_data_backlog
, OPT_INT
) // max data backlog for ops log
1414 OPTION(rgw_fcgi_socket_backlog
, OPT_INT
) // socket backlog for fcgi
1415 OPTION(rgw_usage_log_flush_threshold
, OPT_INT
) // threshold to flush pending log data
1416 OPTION(rgw_usage_log_tick_interval
, OPT_INT
) // flush pending log data every X seconds
1417 OPTION(rgw_init_timeout
, OPT_INT
) // time in seconds
1418 OPTION(rgw_mime_types_file
, OPT_STR
)
1419 OPTION(rgw_gc_max_objs
, OPT_INT
)
1420 OPTION(rgw_gc_obj_min_wait
, OPT_INT
) // wait time before object may be handled by gc, recommended lower limit is 30 mins
1421 OPTION(rgw_gc_processor_max_time
, OPT_INT
) // total run time for a single gc processor work
1422 OPTION(rgw_gc_processor_period
, OPT_INT
) // gc processor cycle time
1423 OPTION(rgw_gc_max_concurrent_io
, OPT_INT
) // gc processor cycle time
1424 OPTION(rgw_gc_max_trim_chunk
, OPT_INT
) // gc trim chunk size
1425 OPTION(rgw_s3_success_create_obj_status
, OPT_INT
) // alternative success status response for create-obj (0 - default)
1426 OPTION(rgw_resolve_cname
, OPT_BOOL
) // should rgw try to resolve hostname as a dns cname record
1427 OPTION(rgw_obj_stripe_size
, OPT_INT
)
1428 OPTION(rgw_extended_http_attrs
, OPT_STR
) // list of extended attrs that can be set on objects (beyond the default)
1429 OPTION(rgw_exit_timeout_secs
, OPT_INT
) // how many seconds to wait for process to go down before exiting unconditionally
1430 OPTION(rgw_get_obj_window_size
, OPT_INT
) // window size in bytes for single get obj request
1431 OPTION(rgw_get_obj_max_req_size
, OPT_INT
) // max length of a single get obj rados op
1432 OPTION(rgw_relaxed_s3_bucket_names
, OPT_BOOL
) // enable relaxed bucket name rules for US region buckets
1433 OPTION(rgw_defer_to_bucket_acls
, OPT_STR
) // if the user has bucket perms)
1434 OPTION(rgw_list_buckets_max_chunk
, OPT_INT
) // max buckets to retrieve in a single op when listing user buckets
1435 OPTION(rgw_md_log_max_shards
, OPT_INT
) // max shards for metadata log
1436 OPTION(rgw_curl_wait_timeout_ms
, OPT_INT
) // timeout for certain curl calls
1437 OPTION(rgw_curl_low_speed_limit
, OPT_INT
) // low speed limit for certain curl calls
1438 OPTION(rgw_curl_low_speed_time
, OPT_INT
) // low speed time for certain curl calls
1439 OPTION(rgw_copy_obj_progress
, OPT_BOOL
) // should dump progress during long copy operations?
1440 OPTION(rgw_copy_obj_progress_every_bytes
, OPT_INT
) // min bytes between copy progress output
1441 OPTION(rgw_obj_tombstone_cache_size
, OPT_INT
) // how many objects in tombstone cache, which is used in multi-zone sync to keep
1442 // track of removed objects' mtime
1444 OPTION(rgw_data_log_window
, OPT_INT
) // data log entries window (in seconds)
1445 OPTION(rgw_data_log_changes_size
, OPT_INT
) // number of in-memory entries to hold for data changes log
1446 OPTION(rgw_data_log_num_shards
, OPT_INT
) // number of objects to keep data changes log on
1447 OPTION(rgw_data_log_obj_prefix
, OPT_STR
) //
1449 OPTION(rgw_bucket_quota_ttl
, OPT_INT
) // time for cached bucket stats to be cached within rgw instance
1450 OPTION(rgw_bucket_quota_soft_threshold
, OPT_DOUBLE
) // threshold from which we don't rely on cached info for quota decisions
1451 OPTION(rgw_bucket_quota_cache_size
, OPT_INT
) // number of entries in bucket quota cache
1452 OPTION(rgw_bucket_default_quota_max_objects
, OPT_INT
) // number of objects allowed
1453 OPTION(rgw_bucket_default_quota_max_size
, OPT_LONGLONG
) // Max size of object in bytes
1455 OPTION(rgw_expose_bucket
, OPT_BOOL
) // Return the bucket name in the 'Bucket' response header
1457 OPTION(rgw_frontends
, OPT_STR
) // rgw front ends
1459 OPTION(rgw_user_quota_bucket_sync_interval
, OPT_INT
) // time period for accumulating modified buckets before syncing stats
1460 OPTION(rgw_user_quota_sync_interval
, OPT_INT
) // time period for accumulating modified buckets before syncing entire user stats
1461 OPTION(rgw_user_quota_sync_idle_users
, OPT_BOOL
) // whether stats for idle users be fully synced
1462 OPTION(rgw_user_quota_sync_wait_time
, OPT_INT
) // min time between two full stats sync for non-idle users
1463 OPTION(rgw_user_default_quota_max_objects
, OPT_INT
) // number of objects allowed
1464 OPTION(rgw_user_default_quota_max_size
, OPT_LONGLONG
) // Max size of object in bytes
1466 OPTION(rgw_multipart_min_part_size
, OPT_INT
) // min size for each part (except for last one) in multipart upload
1467 OPTION(rgw_multipart_part_upload_limit
, OPT_INT
) // parts limit in multipart upload
1469 OPTION(rgw_max_slo_entries
, OPT_INT
) // default number of max entries in slo
1471 OPTION(rgw_olh_pending_timeout_sec
, OPT_INT
) // time until we retire a pending olh change
1472 OPTION(rgw_user_max_buckets
, OPT_INT
) // global option to set max buckets count for all user
1474 OPTION(rgw_objexp_gc_interval
, OPT_U32
) // maximum time between round of expired objects garbage collecting
1475 OPTION(rgw_objexp_hints_num_shards
, OPT_U32
) // maximum number of parts in which the hint index is stored in
1476 OPTION(rgw_objexp_chunk_size
, OPT_U32
) // maximum number of entries in a single operation when processing objexp data
1478 OPTION(rgw_enable_static_website
, OPT_BOOL
) // enable static website feature
1479 OPTION(rgw_log_http_headers
, OPT_STR
) // list of HTTP headers to log when seen, ignores case (e.g., http_x_forwarded_for
1481 OPTION(rgw_num_async_rados_threads
, OPT_INT
) // num of threads to use for async rados operations
1482 OPTION(rgw_md_notify_interval_msec
, OPT_INT
) // metadata changes notification interval to followers
1483 OPTION(rgw_run_sync_thread
, OPT_BOOL
) // whether radosgw (not radosgw-admin) spawns the sync thread
1484 OPTION(rgw_sync_lease_period
, OPT_INT
) // time in second for lease that rgw takes on a specific log (or log shard)
1485 OPTION(rgw_sync_log_trim_interval
, OPT_INT
) // time in seconds between attempts to trim sync logs
1487 OPTION(rgw_sync_data_inject_err_probability
, OPT_DOUBLE
) // range [0, 1]
1488 OPTION(rgw_sync_meta_inject_err_probability
, OPT_DOUBLE
) // range [0, 1]
1489 OPTION(rgw_sync_trace_history_size
, OPT_INT
) // max number of complete sync trace entries to keep
1490 OPTION(rgw_sync_trace_per_node_log_size
, OPT_INT
) // how many log entries to keep per node
1491 OPTION(rgw_sync_trace_servicemap_update_interval
, OPT_INT
) // interval in seconds between sync trace servicemap update
1494 OPTION(rgw_period_push_interval
, OPT_DOUBLE
) // seconds to wait before retrying "period push"
1495 OPTION(rgw_period_push_interval_max
, OPT_DOUBLE
) // maximum interval after exponential backoff
1497 OPTION(rgw_safe_max_objects_per_shard
, OPT_INT
) // safe max loading
1498 OPTION(rgw_shard_warning_threshold
, OPT_DOUBLE
) // pct of safe max
1501 OPTION(rgw_swift_versioning_enabled
, OPT_BOOL
) // whether swift object versioning feature is enabled
1503 OPTION(rgw_trust_forwarded_https
, OPT_BOOL
) // trust Forwarded and X-Forwarded-Proto headers for ssl termination
1504 OPTION(rgw_crypt_require_ssl
, OPT_BOOL
) // requests including encryption key headers must be sent over ssl
1505 OPTION(rgw_crypt_default_encryption_key
, OPT_STR
) // base64 encoded key for encryption of rgw objects
1507 OPTION(rgw_crypt_s3_kms_backend
, OPT_STR
) // Where SSE-KMS encryption keys are stored
1508 OPTION(rgw_crypt_vault_auth
, OPT_STR
) // Type of authentication method to be used with Vault
1509 OPTION(rgw_crypt_vault_token_file
, OPT_STR
) // Path to the token file for Vault authentication
1510 OPTION(rgw_crypt_vault_addr
, OPT_STR
) // Vault server base address
1511 OPTION(rgw_crypt_vault_prefix
, OPT_STR
) // Optional URL prefix to Vault secret path
1512 OPTION(rgw_crypt_vault_secret_engine
, OPT_STR
) // kv, transit or other supported secret engines
1513 OPTION(rgw_crypt_vault_namespace
, OPT_STR
) // Vault Namespace (only availabe in Vault Enterprise Version)
1515 OPTION(rgw_crypt_s3_kms_encryption_keys
, OPT_STR
) // extra keys that may be used for aws:kms
1516 // defined as map "key1=YmluCmJvb3N0CmJvb3N0LQ== key2=b3V0CnNyYwpUZXN0aW5nCg=="
1517 OPTION(rgw_crypt_suppress_logs
, OPT_BOOL
) // suppress logs that might print customer key
1518 OPTION(rgw_list_bucket_min_readahead
, OPT_INT
) // minimum number of entries to read from rados for bucket listing
1520 OPTION(rgw_rest_getusage_op_compat
, OPT_BOOL
) // dump description of total stats for s3 GetUsage API
1522 OPTION(throttler_perf_counter
, OPT_BOOL
) // enable/disable throttler perf counter
1524 /* The following are tunables for torrent data */
1525 OPTION(rgw_torrent_flag
, OPT_BOOL
) // produce torrent function flag
1526 OPTION(rgw_torrent_tracker
, OPT_STR
) // torrent field announce and announce list
1527 OPTION(rgw_torrent_createby
, OPT_STR
) // torrent field created by
1528 OPTION(rgw_torrent_comment
, OPT_STR
) // torrent field comment
1529 OPTION(rgw_torrent_encoding
, OPT_STR
) // torrent field encoding
1530 OPTION(rgw_torrent_origin
, OPT_STR
) // torrent origin
1531 OPTION(rgw_torrent_sha_unit
, OPT_INT
) // torrent field piece length 512K
1533 OPTION(event_tracing
, OPT_BOOL
) // true if LTTng-UST tracepoints should be enabled
1535 OPTION(debug_deliberately_leak_memory
, OPT_BOOL
)
1536 OPTION(debug_asok_assert_abort
, OPT_BOOL
)
1538 OPTION(rgw_swift_custom_header
, OPT_STR
) // option to enable swift custom headers
1540 OPTION(rgw_swift_need_stats
, OPT_BOOL
) // option to enable stats on bucket listing for swift
1542 OPTION(rgw_acl_grants_max_num
, OPT_INT
) // According to AWS S3(http://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html), An ACL can have up to 100 grants.
1543 OPTION(rgw_cors_rules_max_num
, OPT_INT
) // According to AWS S3(http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html), An cors can have up to 100 rules.
1544 OPTION(rgw_delete_multi_obj_max_num
, OPT_INT
) // According to AWS S3(https://docs.aws.amazon.com/AmazonS3/latest/dev/DeletingObjects.html), Amazon S3 also provides the Multi-Object Delete API that you can use to delete up to 1000 objects in a single HTTP request.
1545 OPTION(rgw_website_routing_rules_max_num
, OPT_INT
) // According to AWS S3, An website routing config can have up to 50 rules.
1546 OPTION(rgw_sts_entry
, OPT_STR
)
1547 OPTION(rgw_sts_key
, OPT_STR
)
1548 OPTION(rgw_s3_auth_use_sts
, OPT_BOOL
) // should we try to use sts for s3?
1549 OPTION(rgw_sts_max_session_duration
, OPT_U64
) // Max duration in seconds for which the session token is valid.
1550 OPTION(fake_statfs_for_testing
, OPT_INT
) // Set a value for kb and compute kb_used from total of num_bytes
1551 OPTION(rgw_sts_token_introspection_url
, OPT_STR
) // url for introspecting web tokens
1552 OPTION(rgw_sts_client_id
, OPT_STR
) // Client Id
1553 OPTION(rgw_sts_client_secret
, OPT_STR
) // Client Secret
1554 OPTION(debug_allow_any_pool_priority
, OPT_BOOL
)
1555 OPTION(rgw_gc_max_deferred_entries_size
, OPT_U64
) // GC deferred entries size in queue head
1556 OPTION(rgw_gc_max_queue_size
, OPT_U64
) // GC max queue size
1557 OPTION(rgw_gc_max_deferred
, OPT_U64
) // GC max number of deferred entries