From a8a514b957549b35288ddad2ec298efc58c8f488 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 18 Oct 2017 10:46:58 -0500 Subject: [PATCH] osd/osd_types: pg_pool_t: remove crash_replay_interval member We removed the dual ack before luminous, so this option is completely obsolete now. Signed-off-by: Sage Weil --- doc/man/8/ceph.rst | 4 ++-- src/mon/MonCommands.h | 4 ++-- src/mon/OSDMonitor.cc | 17 +---------------- src/osd/osd_types.cc | 20 ++++---------------- src/osd/osd_types.h | 3 --- src/pybind/mgr/restful/common.py | 2 +- src/test/pybind/test_ceph_argparse.py | 4 ++-- 7 files changed, 12 insertions(+), 42 deletions(-) diff --git a/doc/man/8/ceph.rst b/doc/man/8/ceph.rst index 6e67a14e30dd4..24b171fe9bdbd 100644 --- a/doc/man/8/ceph.rst +++ b/doc/man/8/ceph.rst @@ -934,7 +934,7 @@ Subcommand ``get`` gets pool parameter . Usage:: - ceph osd pool get size|min_size|crash_replay_interval|pg_num| + ceph osd pool get size|min_size|pg_num| pgp_num|crush_ruleset|auid|write_fadvise_dontneed Only for tiered pools:: @@ -986,7 +986,7 @@ Subcommand ``set`` sets pool parameter to . Usage:: - ceph osd pool set size|min_size|crash_replay_interval|pg_num| + ceph osd pool set size|min_size|pg_num| pgp_num|crush_ruleset|hashpspool|nodelete|nopgchange|nosizechange| hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|debug_fake_ec_pool| target_max_bytes|target_max_objects|cache_target_dirty_ratio| diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index d8f743f3416e3..c5c5fd57d008a 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -924,11 +924,11 @@ COMMAND("osd pool rename " \ "rename to ", "osd", "rw", "cli,rest") COMMAND("osd pool get " \ "name=pool,type=CephPoolname " \ - "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|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|auid|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", \ + "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|auid|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", \ "get pool parameter ", "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_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|auid|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 " \ + "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_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|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 " \ "name=val,type=CephString " \ "name=force,type=CephChoices,strings=--yes-i-really-mean-it,req=false", \ "set pool parameter to ", "osd", "rw", "cli,rest") diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 3e3cf97853e4b..608a2e4b9ff11 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -3473,7 +3473,7 @@ void OSDMonitor::dump_info(Formatter *f) namespace { enum osd_pool_get_choices { - SIZE, MIN_SIZE, CRASH_REPLAY_INTERVAL, + SIZE, MIN_SIZE, PG_NUM, PGP_NUM, CRUSH_RULE, HASHPSPOOL, NODELETE, NOPGCHANGE, NOSIZECHANGE, WRITE_FADVISE_DONTNEED, NOSCRUB, NODEEP_SCRUB, @@ -4062,7 +4062,6 @@ bool OSDMonitor::preprocess_command(MonOpRequestRef op) const choices_map_t ALL_CHOICES = { {"size", SIZE}, {"min_size", MIN_SIZE}, - {"crash_replay_interval", CRASH_REPLAY_INTERVAL}, {"pg_num", PG_NUM}, {"pgp_num", PGP_NUM}, {"crush_rule", CRUSH_RULE}, {"hashpspool", HASHPSPOOL}, {"nodelete", NODELETE}, @@ -4188,10 +4187,6 @@ bool OSDMonitor::preprocess_command(MonOpRequestRef op) case MIN_SIZE: f->dump_int("min_size", p->get_min_size()); break; - case CRASH_REPLAY_INTERVAL: - f->dump_int("crash_replay_interval", - p->get_crash_replay_interval()); - break; case CRUSH_RULE: if (osdmap.crush->rule_exists(p->get_crush_rule())) { f->dump_string("crush_rule", osdmap.crush->get_rule_name( @@ -4348,10 +4343,6 @@ bool OSDMonitor::preprocess_command(MonOpRequestRef op) case MIN_SIZE: ss << "min_size: " << p->get_min_size() << "\n"; break; - case CRASH_REPLAY_INTERVAL: - ss << "crash_replay_interval: " << - p->get_crash_replay_interval() << "\n"; - break; case CRUSH_RULE: if (osdmap.crush->rule_exists(p->get_crush_rule())) { ss << "crush_rule: " << osdmap.crush->get_rule_name( @@ -5755,12 +5746,6 @@ int OSDMonitor::prepare_command_pool_set(map &cmdmap, return -EINVAL; } p.auid = n; - } else if (var == "crash_replay_interval") { - if (interr.length()) { - ss << "error parsing integer value '" << val << "': " << interr; - return -EINVAL; - } - p.crash_replay_interval = n; } else if (var == "pg_num") { if (p.has_flag(pg_pool_t::FLAG_NOPGCHANGE)) { ss << "pool pg_num change is disabled; you must unset nopgchange flag for the pool first"; diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index ceced3cb40b7e..2a0258c843044 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -1160,7 +1160,6 @@ void pg_pool_t::dump(Formatter *f) const f->dump_int("object_hash", get_object_hash()); f->dump_unsigned("pg_num", get_pg_num()); f->dump_unsigned("pg_placement_num", get_pgp_num()); - f->dump_unsigned("crash_replay_interval", get_crash_replay_interval()); f->dump_stream("last_change") << get_last_change(); f->dump_stream("last_force_op_resend") << get_last_force_op_resend(); f->dump_stream("last_force_op_resend_preluminous") @@ -1483,7 +1482,7 @@ void pg_pool_t::encode(bufferlist& bl, uint64_t features) const ::encode(removed_snaps, bl); ::encode(auid, bl); ::encode(flags, bl); - ::encode(crash_replay_interval, bl); + ::encode((uint32_t)0, bl); // crash_replay_interval return; } @@ -1510,7 +1509,7 @@ void pg_pool_t::encode(bufferlist& bl, uint64_t features) const ::encode(removed_snaps, bl); ::encode(auid, bl); ::encode(flags, bl); - ::encode(crash_replay_interval, bl); + ::encode((uint32_t)0, bl); // crash_replay_interval ::encode(min_size, bl); ::encode(quota_max_bytes, bl); ::encode(quota_max_objects, bl); @@ -1563,7 +1562,7 @@ void pg_pool_t::encode(bufferlist& bl, uint64_t features) const ::encode(removed_snaps, bl); ::encode(auid, bl); ::encode(flags, bl); - ::encode(crash_replay_interval, bl); + ::encode((uint32_t)0, bl); // crash_replay_interval ::encode(min_size, bl); ::encode(quota_max_bytes, bl); ::encode(quota_max_objects, bl); @@ -1649,18 +1648,10 @@ void pg_pool_t::decode(bufferlist::iterator& bl) if (struct_v >= 4) { ::decode(flags, bl); + uint32_t crash_replay_interval; ::decode(crash_replay_interval, bl); } else { flags = 0; - - // if this looks like the 'data' pool, set the - // crash_replay_interval appropriately. unfortunately, we can't - // be precise here. this should be good enough to preserve replay - // on the data pool for the majority of cluster upgrades, though. - if (crush_rule == 0 && auid == 0) - crash_replay_interval = 60; - else - crash_replay_interval = 0; } if (struct_v >= 7) { ::decode(min_size, bl); @@ -1790,7 +1781,6 @@ void pg_pool_t::generate_test_instances(list& o) a.snap_seq = 10; a.snap_epoch = 11; a.auid = 12; - a.crash_replay_interval = 13; a.quota_max_bytes = 473; a.quota_max_objects = 474; o.push_back(new pg_pool_t(a)); @@ -1853,8 +1843,6 @@ ostream& operator<<(ostream& out, const pg_pool_t& p) out << " owner " << p.get_auid(); if (p.flags) out << " flags " << p.get_flags_string(); - if (p.crash_replay_interval) - out << " crash_replay_interval " << p.crash_replay_interval; if (p.quota_max_bytes) out << " max_bytes " << p.quota_max_bytes; if (p.quota_max_objects) diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 33583e2163938..373782a668677 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -1300,7 +1300,6 @@ public: snapid_t snap_seq; ///< seq for per-pool snapshot epoch_t snap_epoch; ///< osdmap epoch of last snap uint64_t auid; ///< who owns the pg - __u32 crash_replay_interval; ///< seconds to allow clients to replay ACKed but unCOMMITted requests uint64_t quota_max_bytes; ///< maximum number of bytes for this pool uint64_t quota_max_objects; ///< maximum number of objects for this pool @@ -1417,7 +1416,6 @@ public: last_force_op_resend_preluminous(0), snap_seq(0), snap_epoch(0), auid(0), - crash_replay_interval(0), quota_max_bytes(0), quota_max_objects(0), pg_num_mask(0), pgp_num_mask(0), tier_of(-1), read_tier(-1), write_tier(-1), @@ -1474,7 +1472,6 @@ public: epoch_t get_snap_epoch() const { return snap_epoch; } snapid_t get_snap_seq() const { return snap_seq; } uint64_t get_auid() const { return auid; } - unsigned get_crash_replay_interval() const { return crash_replay_interval; } void set_snap_seq(snapid_t s) { snap_seq = s; } void set_snap_epoch(epoch_t e) { snap_epoch = e; } diff --git a/src/pybind/mgr/restful/common.py b/src/pybind/mgr/restful/common.py index dc8b39b6e6e3c..d7f045496d5d9 100644 --- a/src/pybind/mgr/restful/common.py +++ b/src/pybind/mgr/restful/common.py @@ -11,7 +11,7 @@ OSD_IMPLEMENTED_COMMANDS = [ # Valid values for the 'var' argument to 'ceph osd pool set' POOL_PROPERTIES_1 = [ - 'size', 'min_size', 'crash_replay_interval', 'pg_num', + 'size', 'min_size', 'pg_num', 'crush_rule', 'hashpspool', ] diff --git a/src/test/pybind/test_ceph_argparse.py b/src/test/pybind/test_ceph_argparse.py index 9759b87d73dfa..579a10d67b33b 100755 --- a/src/test/pybind/test_ceph_argparse.py +++ b/src/test/pybind/test_ceph_argparse.py @@ -1027,7 +1027,7 @@ class TestOSD(TestArgparse): 'toomany'])) def test_pool_get(self): - for var in ('size', 'min_size', 'crash_replay_interval', + for var in ('size', 'min_size', 'pg_num', 'pgp_num', 'crush_rule', 'auid', 'fast_read', 'scrub_min_interval', 'scrub_max_interval', 'deep_scrub_interval', 'recovery_priority', @@ -1046,7 +1046,7 @@ class TestOSD(TestArgparse): 'invalid'])) def test_pool_set(self): - for var in ('size', 'min_size', 'crash_replay_interval', + for var in ('size', 'min_size', 'pg_num', 'pgp_num', 'crush_rule', 'hashpspool', 'auid', 'fast_read', 'scrub_min_interval', 'scrub_max_interval', -- 2.39.5