]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: pg_pool_t: clear tunables on clear_tier()
authorJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 2 Jul 2014 18:47:52 +0000 (19:47 +0100)
committerJoao Eduardo Luis <joao.luis@inktank.com>
Thu, 10 Jul 2014 23:17:47 +0000 (00:17 +0100)
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
src/osd/osd_types.h

index 7a189ecb84d548e52303a9d0d84181379ee10604..788efc8a938f4520b3e22e943dbb742352a37a51 100644 (file)
@@ -918,11 +918,27 @@ public:
 
   bool is_tier() const { return tier_of >= 0; }
   bool has_tiers() const { return !tiers.empty(); }
-  void clear_tier() { tier_of = -1; }
+  void clear_tier() {
+    tier_of = -1;
+    clear_read_tier();
+    clear_write_tier();
+    clear_tier_tunables();
+  }
   bool has_read_tier() const { return read_tier >= 0; }
   void clear_read_tier() { read_tier = -1; }
   bool has_write_tier() const { return write_tier >= 0; }
   void clear_write_tier() { write_tier = -1; }
+  void clear_tier_tunables() {
+    cache_mode = CACHEMODE_NONE;
+
+    target_max_bytes = 0;
+    target_max_objects = 0;
+    cache_target_dirty_ratio_micro = 0;
+    cache_target_full_ratio_micro = 0;
+    hit_set_params = HitSet::Params();
+    hit_set_period = 0;
+    hit_set_count = 0;
+  }
 
   uint64_t target_max_bytes;   ///< tiering: target max pool size
   uint64_t target_max_objects; ///< tiering: target max pool size