From 4f129748d3e81560c1f9f40b01c5d2dde89a3623 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Thu, 11 Dec 2014 11:47:07 +0800 Subject: [PATCH] ECBackend: Make parity data don't cache. Signed-off-by: Jianpeng Ma --- src/osd/ECBackend.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index 20f6caa9f695d..4031b4c671edb 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -21,6 +21,9 @@ #include "ECBackend.h" #include "messages/MOSDPGPush.h" #include "messages/MOSDPGPushReply.h" +#include "ReplicatedPG.h" + +class ReplicatedPG; #define dout_subsys ceph_subsys_osd #define DOUT_PREFIX_ARGS this @@ -832,6 +835,11 @@ void ECBackend::handle_sub_write( op.trim_rollback_to, !(op.t.empty()), localt); + + if (!(dynamic_cast(get_parent())->is_undersized()) && + get_parent()->whoami_shard().shard >= ec_impl->get_data_chunk_count()) + op.t.set_fadvise_flag(CEPH_OSD_OP_FLAG_FADVISE_DONTNEED); + localt->append(op.t); if (on_local_applied_sync) { dout(10) << "Queueing onreadable_sync: " << on_local_applied_sync << dendl; -- 2.39.5