From: Yingxin Cheng Date: Fri, 1 Apr 2022 02:11:09 +0000 (+0800) Subject: crimson/os/seastore/EPM: replace random by a simpler seed X-Git-Tag: v18.0.0~1075^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=1edb5740f5d3f422da0b66c504def0dcf5a9a520;p=ceph.git crimson/os/seastore/EPM: replace random by a simpler seed Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/extent_placement_manager.h b/src/crimson/os/seastore/extent_placement_manager.h index 30dbae086ece5..944232afe6709 100644 --- a/src/crimson/os/seastore/extent_placement_manager.h +++ b/src/crimson/os/seastore/extent_placement_manager.h @@ -92,6 +92,7 @@ public: void init_ool_writers(SegmentProvider &sp, SegmentSeqAllocator &ssa) { // Currently only one SegmentProvider is supported, so hardcode the // writers_by_hint for now. + writer_seed = 0; writer_refs.clear(); writers_by_hint.resize((std::size_t)placement_hint_t::NUM_HINTS, {}); @@ -235,9 +236,10 @@ private: assert(hint_index < writers_by_hint.size()); auto& writers = writers_by_hint[hint_index]; assert(writers.size() > 0); - return writers[std::rand() % writers.size()]; + return writers[writer_seed++ % writers.size()]; } + std::size_t writer_seed = 0; std::vector writer_refs; std::vector> writers_by_hint; std::vector devices_by_id;