From: Jianpeng Ma Date: Wed, 18 Mar 2015 07:04:59 +0000 (+0800) Subject: osd/ReplicatedPG: using fadvise_dontneed as base tier object fadvise flags when flush... X-Git-Tag: v9.0.1~123^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2f61772ae51367c819ec4e724cc58d7e6cecc987;p=ceph.git osd/ReplicatedPG: using fadvise_dontneed as base tier object fadvise flags when flush object from cache tier to base tier. This mean after flush object from cache tier to base tier, base tier don't cache data of this object. Signed-off-by: Jianpeng Ma --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index abd601571d54..c2fae852bf8a 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -7170,6 +7170,9 @@ int ReplicatedPG::start_flush( CEPH_OSD_COPY_FROM_FLAG_IGNORE_CACHE | CEPH_OSD_COPY_FROM_FLAG_MAP_SNAP_CLONE, 0); + //mean the base tier don't cache data after this + if (agent_state && agent_state->evict_mode != TierAgentState::EVICT_MODE_FULL) + o.set_last_op_flags(LIBRADOS_OP_FLAG_FADVISE_DONTNEED); } C_Flush *fin = new C_Flush(this, soid, get_last_peering_reset());