From 1ed9e61de52e9139f6ccd04599156031263c9af7 Mon Sep 17 00:00:00 2001 From: Adam Kupczyk Date: Thu, 20 Jan 2022 13:44:35 +0100 Subject: [PATCH] os/bluestore/bluefs: Code for volume selector check Adds ability to verify that volume selector properly tracks disk usage. Creates options: - bluefs_check_volume_selector_on_umount - bluefs_check_volume_selector_often that can be used to validate that vselector does not diverge from values it should have. Signed-off-by: Adam Kupczyk (cherry picked from commit d233e3b1d23c135f0ec8d808c0961ddce8526bc8) Conflicts: src/common/options/global.yaml.in (new yaml config settings aren't present in Pacific) --- src/common/legacy_config_opts.h | 2 ++ src/common/options.cc | 15 ++++++++++++ src/os/bluestore/BlueFS.cc | 43 ++++++++++++++++++++++++++++++--- src/os/bluestore/BlueFS.h | 11 ++++++++- src/os/bluestore/BlueStore.cc | 23 ++++++++++++++++++ src/os/bluestore/BlueStore.h | 2 ++ 6 files changed, 91 insertions(+), 5 deletions(-) diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 07fc657444fc3..99d0aad95b214 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -924,6 +924,8 @@ OPTION(bluefs_replay_recovery, OPT_BOOL) OPTION(bluefs_replay_recovery_disable_compact, OPT_BOOL) OPTION(bluefs_check_for_zeros, OPT_BOOL) +OPTION(bluefs_check_volume_selector_on_umount, OPT_BOOL) +OPTION(bluefs_check_volume_selector_often, OPT_BOOL) OPTION(bluestore_bluefs, OPT_BOOL) OPTION(bluestore_bluefs_env_mirror, OPT_BOOL) // mirror to normal Env for debug // how often (sec) to dump allocator on allocation failure diff --git a/src/common/options.cc b/src/common/options.cc index 546908b55bba2..3dd1a7f73e88a 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4355,6 +4355,21 @@ std::vector