Handle together with other flags.
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
:Version: Version ``FIXME``
+``write_fadvise_dontneed``
+
+:Description: Set/Unset WRITE_FADVISE_DONTNEED flag on a given pool.
+:Type: Integer
+:Valid Range: 1 sets flag, 0 unsets flag
+
+
``hit_set_type``
:Description: Enables hit set tracking for cache pools.
ceph --format=xml osd pool get $TEST_POOL_GETSET auid | grep $auid
ceph osd pool set $TEST_POOL_GETSET auid 0
- for flag in hashpspool nodelete nopgchange nosizechange; do
+ for flag in hashpspool nodelete nopgchange nosizechange write_fadvise_dontneed; do
ceph osd pool set $TEST_POOL_GETSET $flag false
ceph osd pool set $TEST_POOL_GETSET $flag true
ceph osd pool set $TEST_POOL_GETSET $flag 1
"get pool parameter <var>", "osd", "r", "cli,rest")
COMMAND("osd pool set " \
"name=pool,type=CephPoolname " \
- "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hashpspool|nodelete|nopgchange|nosizechange|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_gmt_hitset|debug_fake_ec_pool|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|auid|min_read_recency_for_promote|write_fadvise_dontneed|min_write_recency_for_promote|fast_read " \
+ "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hashpspool|nodelete|nopgchange|nosizechange|write_fadvise_dontneed|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|use_gmt_hitset|debug_fake_ec_pool|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|auid|min_read_recency_for_promote|min_write_recency_for_promote|fast_read " \
"name=val,type=CephString " \
"name=force,type=CephChoices,strings=--yes-i-really-mean-it,req=false", \
"set pool parameter <var> to <val>", "osd", "rw", "cli,rest")
}
p.crush_ruleset = n;
} else if (var == "hashpspool" || var == "nodelete" || var == "nopgchange" ||
- var == "nosizechange") {
+ var == "nosizechange" || var == "write_fadvise_dontneed") {
uint64_t flag = pg_pool_t::get_flag_by_name(var);
// make sure we only compare against 'n' if we didn't receive a string
if (val == "true" || (interr.empty() && n == 1)) {
return -EINVAL;
}
p.min_read_recency_for_promote = n;
- } else if (var == "write_fadvise_dontneed") {
- if (val == "true" || (interr.empty() && n == 1)) {
- p.flags |= pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED;
- } else if (val == "false" || (interr.empty() && n == 0)) {
- p.flags &= ~pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED;
- } else {
- ss << "expecting value 'true', 'false', '0', or '1'";
- return -EINVAL;
- }
} else if (var == "min_write_recency_for_promote") {
if (interr.length()) {
ss << "error parsing integer value '" << val << "': " << interr;
run_mon $dir a || return 1
local flag
- for flag in hashpspool nodelete nopgchange nosizechange; do
+ for flag in hashpspool nodelete nopgchange nosizechange write_fadvise_dontneed; do
if [ $flag = hashpspool ]; then
./ceph osd dump | grep 'pool ' | grep $flag || return 1
else