From: Sage Weil Date: Mon, 23 Jul 2018 15:11:53 +0000 (-0500) Subject: common: add osd_distrust_data_digest option X-Git-Tag: v13.2.1~12^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7a50c7f819ea4b59103173082ca96921706fcbde;p=ceph.git common: add osd_distrust_data_digest option If we have reason to distrust the stored full-object oi data digests, this option will ignore them (and opportunistically clear them). It basically affects the same behaviors that osd_skip_data_digest except the previous option only takes effect if bluestore is in use, while this option is unconditional. This serves a workaround for clusters that suffered the 12.2.6 bug that produced bad full-object digests and *also* had PGs' primaries move from bluestore to filestore nodes. In those situations, this option can be set to true. After all OSDs are upgrade and all PGs come back with a clean deep scrub this option can be disabled again. Signed-off-by: Sage Weil (cherry picked from commit b8476ebc5b3c5b5d801bf875bbd6dce5b113325c) # Conflicts: # src/osd/PrimaryLogPG.cc - osd->osd_skip_data_digest, not g_conf->osd_skip_data_digest --- diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index ee642b1ca9e..b77e75ea5e9 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -737,6 +737,7 @@ OPTION(osd_deep_scrub_stride, OPT_INT) OPTION(osd_deep_scrub_keys, OPT_INT) OPTION(osd_deep_scrub_update_digest_min_age, OPT_INT) // objects must be this old (seconds) before we update the whole-object digest on scrub OPTION(osd_skip_data_digest, OPT_BOOL) +OPTION(osd_distrust_data_digest, OPT_BOOL) OPTION(osd_deep_scrub_large_omap_object_key_threshold, OPT_U64) OPTION(osd_deep_scrub_large_omap_object_value_sum_threshold, OPT_U64) OPTION(osd_class_dir, OPT_STR) // where rados plugins are stored diff --git a/src/common/options.cc b/src/common/options.cc index 35fade3fd63..dd7c5d37444 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -2320,6 +2320,10 @@ std::vector