From: Adam Kupczyk Date: Tue, 23 Jun 2020 12:45:18 +0000 (+0200) Subject: os/bluestore: Added rescue procedure for bluefs log replay X-Git-Tag: v15.2.5~85^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6c50113db2ec431e1580c0af7f3e8e6019e10b42;p=ceph.git os/bluestore: Added rescue procedure for bluefs log replay This is a procedure tries to find on disk unreachable extents and pretend they were already a part of bluefs log. If this gives proper crc, accept it. Fixes: https://tracker.ceph.com/issues/46552 Signed-off-by: Adam Kupczyk (cherry-picked from commit 40e94a106a8adff6304905d59e1634801d2c9890) Conflicts: src/os/bluestore/BlueFS.cc --- diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index b0562247dda..cf1ba8c0a5e 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -914,6 +914,7 @@ OPTION(bluefs_sync_write, OPT_BOOL) OPTION(bluefs_allocator, OPT_STR) // stupid | bitmap OPTION(bluefs_preextend_wal_files, OPT_BOOL) // this *requires* that rocksdb has recycling enabled OPTION(bluefs_log_replay_check_allocations, OPT_BOOL) +OPTION(bluefs_replay_recovery, 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 f3c848579dd..87a708c9ba4 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -4022,6 +4022,13 @@ std::vector