From: Jianpeng Ma Date: Mon, 12 Jan 2015 08:02:50 +0000 (+0800) Subject: ReplicatedPG: handle OSDOp with pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED. X-Git-Tag: v0.93~160^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0f56b4787111b1aec27af864244b60d80dea2729;p=ceph.git ReplicatedPG: handle OSDOp with pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED. Signed-off-by: Jianpeng Ma --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 5ebf34dc29d5..ab9f519c96ee 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -4182,6 +4182,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) break; } + if (pool.info.has_flag(pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED)) + op.flags = op.flags | CEPH_OSD_OP_FLAG_FADVISE_DONTNEED; + if (pool.info.requires_aligned_append() && (op.extent.offset % pool.info.required_alignment() != 0)) { result = -EOPNOTSUPP; @@ -4265,6 +4268,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) if (result < 0) break; + if (pool.info.has_flag(pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED)) + op.flags = op.flags | CEPH_OSD_OP_FLAG_FADVISE_DONTNEED; + if (pool.info.require_rollback()) { if (obs.exists) { if (ctx->mod_desc.rmobject(ctx->at_version.version)) {