From: Adam Kupczyk Date: Wed, 1 Apr 2020 12:52:22 +0000 (+0200) Subject: kv/RocksDBStore: Using stored sharding if provided is empty X-Git-Tag: wip-pdonnell-testing-20200918.022351~1436^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=f84dbd173ac2279b9384c0ef43caceb7a2d8b34e;p=ceph-ci.git 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 --- 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(),