From f84dbd173ac2279b9384c0ef43caceb7a2d8b34e Mon Sep 17 00:00:00 2001 From: Adam Kupczyk Date: Wed, 1 Apr 2020 14:52:22 +0200 Subject: [PATCH] kv/RocksDBStore: Using stored sharding if provided is empty This change is needed for cases when tools cannot know and don't care about sharding. Signed-off-by: Adam Kupczyk --- src/kv/RocksDBStore.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/kv/RocksDBStore.cc b/src/kv/RocksDBStore.cc index fa16bdc18ca..a47b51fa93f 100644 --- a/src/kv/RocksDBStore.cc +++ b/src/kv/RocksDBStore.cc @@ -760,7 +760,13 @@ int RocksDBStore::verify_sharding(const rocksdb::Options& opt, //check if sharding_def matches stored_sharding_def std::vector sharding_def; std::vector stored_sharding_def; - parse_sharding_def(sharding_text, sharding_def); + if (!sharding_text.empty()) { + parse_sharding_def(sharding_text, sharding_def); + } else { + //if sharding requested is empty, assume that it agrees with stored + //this is necessary for ceph-bluestore-tool fsck + parse_sharding_def(stored_sharding_text, sharding_def); + } parse_sharding_def(stored_sharding_text, stored_sharding_def); std::sort(sharding_def.begin(), sharding_def.end(), -- 2.39.5