From: Samuel Just Date: Fri, 6 Mar 2015 00:31:15 +0000 (-0800) Subject: PGBackend: add debug option to rewrite digest even if present X-Git-Tag: v0.94~36^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e0bf13264fdccda7e8c0df22cddbd3201552dc08;p=ceph.git PGBackend: add debug option to rewrite digest even if present Related: #11027 Signed-off-by: Samuel Just --- diff --git a/src/common/config_opts.h b/src/common/config_opts.h index b13eb0982606..b1da85f1ebb5 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -639,6 +639,7 @@ OPTION(osd_debug_drop_pg_create_probability, OPT_DOUBLE, 0) OPTION(osd_debug_drop_pg_create_duration, OPT_INT, 1) OPTION(osd_debug_drop_op_probability, OPT_DOUBLE, 0) // probability of stalling/dropping a client op OPTION(osd_debug_op_order, OPT_BOOL, false) +OPTION(osd_debug_scrub_chance_rewrite_digest, OPT_U64, 0) OPTION(osd_debug_verify_snaps_on_info, OPT_BOOL, false) OPTION(osd_debug_verify_stray_on_activate, OPT_BOOL, false) OPTION(osd_debug_skip_full_check_in_backfill_reservation, OPT_BOOL, false) diff --git a/src/osd/PGBackend.cc b/src/osd/PGBackend.cc index a3f2b89182fb..179630dfda26 100644 --- a/src/osd/PGBackend.cc +++ b/src/osd/PGBackend.cc @@ -623,7 +623,10 @@ void PGBackend::be_compare_scrubmaps( } if (okseed && auth_object.digest_present && auth_object.omap_digest_present && - (!auth_oi.is_data_digest() || !auth_oi.is_omap_digest())) { + (!auth_oi.is_data_digest() || !auth_oi.is_omap_digest() || + (g_conf->osd_debug_scrub_chance_rewrite_digest && + (((unsigned)rand() % 100) > + g_conf->osd_debug_scrub_chance_rewrite_digest)))) { if (!cur_inconsistent.empty() || !cur_missing.empty()) { dout(20) << __func__ << " not updating oi digest on " << *k << " since it is inconsistent" << dendl;