return result;
}
-void ReplicatedPG::finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc,
- bool scrub_ok)
+void ReplicatedPG::finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc)
{
const hobject_t& soid = ctx->obs->oi.soid;
dout(20) << __func__ << " " << soid << " " << ctx
ctx->obc->ssc->exists = true;
ctx->obc->ssc->snapset = ctx->new_snapset;
}
-
- apply_ctx_scrub_stats(ctx, scrub_ok);
}
void ReplicatedPG::apply_stats(
else if (cmp(soid, last_backfill_started, get_sort_bitwise()) <= 0)
pending_backfill_updates[soid].stats.add(delta_stats);
}
-}
-void ReplicatedPG::apply_ctx_scrub_stats(OpContext *ctx, bool scrub_ok)
-{
- const hobject_t& soid = ctx->obs->oi.soid;
- if (!scrub_ok && scrubber.active) {
- assert(cmp(soid, scrubber.start, get_sort_bitwise()) < 0 ||
- cmp(soid, scrubber.end, get_sort_bitwise()) >= 0);
- if (cmp(soid, scrubber.start, get_sort_bitwise()) < 0)
- scrub_cstat.add(ctx->delta_stats);
+ if (is_primary() && scrubber.active) {
+ if (cmp(soid, scrubber.start, get_sort_bitwise()) < 0) {
+ scrub_cstat.add(delta_stats);
+ }
}
}
utime_t now = ceph_clock_now(cct);
ctx->mtime = now;
hit_set_trim(ctx, 0);
- apply_ctx_scrub_stats(ctx.get());
simple_opc_submit(std::move(ctx));
}
hit_set_trim(ctx, max);
- apply_ctx_scrub_stats(ctx.get());
simple_opc_submit(std::move(ctx));
}
ctx->mtime = utime_t(); // do not update mtime
ctx->new_obs.oi.set_data_digest(p->second.first);
ctx->new_obs.oi.set_omap_digest(p->second.second);
- finish_ctx(ctx.get(), pg_log_entry_t::MODIFY, true, true);
+ finish_ctx(ctx.get(), pg_log_entry_t::MODIFY);
ctx->register_on_success(
[this]() {
pg->snap_trimmer_machine.process_event(RepopsComplete());
});
- pg->apply_ctx_scrub_stats(ctx.get());
pg->simple_opc_submit(std::move(ctx));
}
const hobject_t& head, const hobject_t& coid,
object_info_t *poi);
void execute_ctx(OpContext *ctx);
- void finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc=true,
- bool scrub_ok=false);
+ void finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc=true);
void reply_ctx(OpContext *ctx, int err);
void reply_ctx(OpContext *ctx, int err, eversion_t v, version_t uv);
void make_writeable(OpContext *ctx);
void log_op_stats(OpContext *ctx);
- void apply_ctx_scrub_stats(
- OpContext *ctx,
- bool scrub_ok=false); ///< true if we should skip scrub stat update
void write_update_size_and_usage(object_stat_sum_t& stats, object_info_t& oi,
interval_set<uint64_t>& modified, uint64_t offset,