]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: using fadvise_dontneed as base tier object fadvise flags when flush...
authorJianpeng Ma <jianpeng.ma@intel.com>
Wed, 18 Mar 2015 07:04:59 +0000 (15:04 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Tue, 24 Mar 2015 02:59:24 +0000 (10:59 +0800)
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 <jianpeng.ma@intel.com>
src/osd/ReplicatedPG.cc

index abd601571d54f668fcd05af96b0d0a3981d2dc71..c2fae852bf8ac465d6e226a99e6767b2a67ea4b8 100644 (file)
@@ -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());