]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: handle OSDOp with pg_pool_t::FLAG_WRITE_FADVISE_DONTNEED.
authorJianpeng Ma <jianpeng.ma@intel.com>
Mon, 12 Jan 2015 08:02:50 +0000 (16:02 +0800)
committerJianpeng Ma <jianpeng.ma@intel.com>
Fri, 23 Jan 2015 01:32:28 +0000 (09:32 +0800)
Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
src/osd/ReplicatedPG.cc

index 5ebf34dc29d542fa193930a29394fd39e13a8a39..ab9f519c96eee8ca4af60c2016f2c6cd5b510707 100644 (file)
@@ -4182,6 +4182,9 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& 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<OSDOp>& 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)) {