From: Ning Yao Date: Sun, 29 Apr 2018 07:58:01 +0000 (+0800) Subject: osd: flush dirty data if cache_target_dirty_ratio = 0.0 X-Git-Tag: v14.1.0~998^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2e2caa9c1ef35eb7b6b1d16a81051beb15b92f8d;p=ceph.git osd: flush dirty data if cache_target_dirty_ratio = 0.0 ceph will not flush all dirty data to base tier, if target_max_bytes and target_max_objects is large enough. Signed-off-by: Ning Yao --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 4454f6b90093..0e41a1feee9c 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -14218,7 +14218,7 @@ bool PrimaryLogPG::agent_choose_mode(bool restart, OpRequestRef op) if (dirty_micro > flush_high_target) { flush_mode = TierAgentState::FLUSH_MODE_HIGH; - } else if (dirty_micro > flush_target) { + } else if (dirty_micro > flush_target || (!flush_target && num_dirty > 0)) { flush_mode = TierAgentState::FLUSH_MODE_LOW; }