]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: do not set local_mtime on non-tiered pool
authorSage Weil <sage@redhat.com>
Mon, 14 Dec 2015 18:00:27 +0000 (13:00 -0500)
committerSage Weil <sage@redhat.com>
Tue, 15 Dec 2015 02:07:14 +0000 (21:07 -0500)
If a pool isn't tiered, don't bother with setting local_mtime.  The only
users are the tiering agent (which isn't needed if there is not tiering)
and scrub for deciding if an object should get its digest recorded (we can
use mtime instead).

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/ReplicatedPG.cc

index 7d23687bea3e8f1a83cbd24bb7b1c5c91709773e..b255b9fa6aaa0399755e5c859871d7dc67a565f3 100644 (file)
@@ -5760,7 +5760,10 @@ void ReplicatedPG::finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc
       ctx->snapset_obc->obs.oi.version = ctx->at_version;
       ctx->snapset_obc->obs.oi.last_reqid = ctx->reqid;
       ctx->snapset_obc->obs.oi.mtime = ctx->mtime;
-      ctx->snapset_obc->obs.oi.local_mtime = now;
+      if (pool.info.is_tier() || pool.info.has_tiers())
+       ctx->snapset_obc->obs.oi.local_mtime = now;
+      else
+       ctx->snapset_obc->obs.oi.local_mtime = utime_t();
 
       bufferlist bv(sizeof(ctx->new_obs.oi));
       ::encode(ctx->snapset_obc->obs.oi, bv);
@@ -5801,7 +5804,10 @@ void ReplicatedPG::finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc
     if (ctx->mtime != utime_t()) {
       ctx->new_obs.oi.mtime = ctx->mtime;
       dout(10) << " set mtime to " << ctx->new_obs.oi.mtime << dendl;
-      ctx->new_obs.oi.local_mtime = now;
+      if (pool.info.is_tier() || pool.info.has_tiers())
+       ctx->new_obs.oi.local_mtime = now;
+      else
+       ctx->new_obs.oi.local_mtime = utime_t();
     } else {
       dout(10) << " mtime unchanged at " << ctx->new_obs.oi.mtime << dendl;
     }