Skip to content

Commit f4b0589

Browse files
committed
osd/osd_types: add PCT_UPDATE_DELAY pool option
Signed-off-by: Samuel Just <[email protected]>
1 parent 8e14ce0 commit f4b0589

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

src/mon/MonCommands.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,11 +1161,11 @@ COMMAND("osd pool rename "
11611161
"rename <srcpool> to <destpool>", "osd", "rw")
11621162
COMMAND("osd pool get "
11631163
"name=pool,type=CephPoolname "
1164-
"name=var,type=CephChoices,strings=size|min_size|pg_num|pgp_num|crush_rule|hashpspool|nodelete|nopgchange|nosizechange|write_fadvise_dontneed|noscrub|nodeep-scrub|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_gmt_hitset|target_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_dirty_high_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|erasure_code_profile|min_read_recency_for_promote|all|min_write_recency_for_promote|fast_read|hit_set_grade_decay_rate|hit_set_search_last_n|scrub_min_interval|scrub_max_interval|deep_scrub_interval|recovery_priority|recovery_op_priority|scrub_priority|compression_mode|compression_algorithm|compression_required_ratio|compression_max_blob_size|compression_min_blob_size|csum_type|csum_min_block|csum_max_block|allow_ec_overwrites|fingerprint_algorithm|pg_autoscale_mode|pg_autoscale_bias|pg_num_min|pg_num_max|target_size_bytes|target_size_ratio|dedup_tier|dedup_chunk_algorithm|dedup_cdc_chunk_size|eio|bulk|read_ratio",
1164+
"name=var,type=CephChoices,strings=size|min_size|pg_num|pgp_num|crush_rule|hashpspool|nodelete|nopgchange|nosizechange|write_fadvise_dontneed|noscrub|nodeep-scrub|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_gmt_hitset|target_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_dirty_high_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|erasure_code_profile|min_read_recency_for_promote|all|min_write_recency_for_promote|fast_read|hit_set_grade_decay_rate|hit_set_search_last_n|scrub_min_interval|scrub_max_interval|deep_scrub_interval|recovery_priority|recovery_op_priority|scrub_priority|compression_mode|compression_algorithm|compression_required_ratio|compression_max_blob_size|compression_min_blob_size|csum_type|csum_min_block|csum_max_block|allow_ec_overwrites|fingerprint_algorithm|pg_autoscale_mode|pg_autoscale_bias|pg_num_min|pg_num_max|target_size_bytes|target_size_ratio|dedup_tier|dedup_chunk_algorithm|dedup_cdc_chunk_size|eio|bulk|read_ratio|pct_update_delay",
11651165
"get pool parameter <var>", "osd", "r")
11661166
COMMAND("osd pool set "
11671167
"name=pool,type=CephPoolname "
1168-
"name=var,type=CephChoices,strings=size|min_size|pg_num|pgp_num|pgp_num_actual|crush_rule|hashpspool|nodelete|nopgchange|nosizechange|write_fadvise_dontneed|noscrub|nodeep-scrub|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_gmt_hitset|target_max_bytes|target_max_objects|cache_target_dirty_ratio|cache_target_dirty_high_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|min_read_recency_for_promote|min_write_recency_for_promote|fast_read|hit_set_grade_decay_rate|hit_set_search_last_n|scrub_min_interval|scrub_max_interval|deep_scrub_interval|recovery_priority|recovery_op_priority|scrub_priority|compression_mode|compression_algorithm|compression_required_ratio|compression_max_blob_size|compression_min_blob_size|csum_type|csum_min_block|csum_max_block|allow_ec_overwrites|fingerprint_algorithm|pg_autoscale_mode|pg_autoscale_bias|pg_num_min|pg_num_max|target_size_bytes|target_size_ratio|dedup_tier|dedup_chunk_algorithm|dedup_cdc_chunk_size|eio|bulk|read_ratio "
1168+
"name=var,type=CephChoices,strings=size|min_size|pg_num|pgp_num|pgp_num_actual|crush_rule|hashpspool|nodelete|nopgchange|nosizechange|write_fadvise_dontneed|noscrub|nodeep-scrub|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_gmt_hitset|target_max_bytes|target_max_objects|cache_target_dirty_ratio|cache_target_dirty_high_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|min_read_recency_for_promote|min_write_recency_for_promote|fast_read|hit_set_grade_decay_rate|hit_set_search_last_n|scrub_min_interval|scrub_max_interval|deep_scrub_interval|recovery_priority|recovery_op_priority|scrub_priority|compression_mode|compression_algorithm|compression_required_ratio|compression_max_blob_size|compression_min_blob_size|csum_type|csum_min_block|csum_max_block|allow_ec_overwrites|fingerprint_algorithm|pg_autoscale_mode|pg_autoscale_bias|pg_num_min|pg_num_max|target_size_bytes|target_size_ratio|dedup_tier|dedup_chunk_algorithm|dedup_cdc_chunk_size|eio|bulk|read_ratio|pct_update_delay "
11691169
"name=val,type=CephString "
11701170
"name=yes_i_really_mean_it,type=CephBool,req=false",
11711171
"set pool parameter <var> to <val>", "osd", "rw")

src/osd/osd_types.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1378,7 +1378,9 @@ static opt_mapping_t opt_mapping = boost::assign::map_list_of
13781378
("pg_num_max", pool_opts_t::opt_desc_t(
13791379
pool_opts_t::PG_NUM_MAX, pool_opts_t::INT))
13801380
("read_ratio", pool_opts_t::opt_desc_t(
1381-
pool_opts_t::READ_RATIO, pool_opts_t::INT));
1381+
pool_opts_t::READ_RATIO, pool_opts_t::INT))
1382+
("pct_update_delay", pool_opts_t::opt_desc_t(
1383+
pool_opts_t::PCT_UPDATE_DELAY, pool_opts_t::INT));
13821384

13831385
bool pool_opts_t::is_opt_name(const std::string& name)
13841386
{

src/osd/osd_types.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,6 +1107,21 @@ class pool_opts_t {
11071107
DEDUP_CDC_CHUNK_SIZE,
11081108
PG_NUM_MAX, // max pg_num
11091109
READ_RATIO, // read ration for the read balancer work [0-100]
1110+
/**
1111+
* PCT_UPDATE_DELAY
1112+
*
1113+
* Time to wait (seconds) after there are no in progress writes before
1114+
* updating pg_committed_to on replicas. If the period between writes on
1115+
* a PG is usually longer than this value, most writes will trigger an
1116+
* extra message.
1117+
*
1118+
* The primary reason to enable this feature would be to limit the time
1119+
* between a write and when that write is available to be read on replicas.
1120+
*
1121+
* A value <= 0 will cause the update to be sent immediately upon write
1122+
* completion if there are no other in progress writes.
1123+
*/
1124+
PCT_UPDATE_DELAY,
11101125
};
11111126

11121127
enum type_t {

0 commit comments

Comments
 (0)