From: Adam Kupczyk Date: Sat, 30 Jan 2021 11:57:05 +0000 (+0100) Subject: os/bluestore: Add option to check BlueFS reads X-Git-Tag: v15.2.10~4^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=32e5db719de71ceaa1179de3934fe7ccff4210a4;p=ceph.git os/bluestore: Add option to check BlueFS reads Add option "bluefs_check_for_zeros" to check if there are any zero-filled page. If so, reread data. It is known that sometimes BlueStore gets such pages. See "bluestore_retry_disk_reads". Signed-off-by: Adam Kupczyk (cherry picked from commit 7e495c57fe0ec8d8bdb1dbff90b177e656a22cbe) Conflicts: (lack of buffer::create(len, char) src/os/bluestore/BlueFS.cc --- diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index 68364bbb9626..837d6c2386af 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -918,6 +918,7 @@ OPTION(bluefs_allocator, OPT_STR) // stupid | bitmap OPTION(bluefs_log_replay_check_allocations, OPT_BOOL) OPTION(bluefs_replay_recovery, OPT_BOOL) OPTION(bluefs_replay_recovery_disable_compact, OPT_BOOL) +OPTION(bluefs_check_for_zeros, OPT_BOOL) OPTION(bluestore_bluefs, OPT_BOOL) OPTION(bluestore_bluefs_env_mirror, OPT_BOOL) // mirror to normal Env for debug diff --git a/src/common/options.cc b/src/common/options.cc index 693ed4c5f893..2ee1ce4c7a08 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4051,6 +4051,14 @@ std::vector