From: Kefu Chai Date: Wed, 4 Dec 2019 00:06:40 +0000 (-0800) Subject: tools/osdmaptool.cc: do not use deprecated std::random_shuffle() X-Git-Tag: v14.2.8~20^2~18^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6870d141030b59bf998f08d9dd4cdcfe52342f25;p=ceph.git tools/osdmaptool.cc: do not use deprecated std::random_shuffle() the use of `std::random_shuffle()` was introduced by b946308 . in this change, it is replaced using `std::shuffle()`. Fixes: https://tracker.ceph.com/issues/43084 Signed-off-by: Kefu Chai (cherry picked from commit 30dfef208d859a67c1f1b13c314735861c536e85) --- diff --git a/src/tools/osdmaptool.cc b/src/tools/osdmaptool.cc index 90dfb16702e23..0195ff74b096f 100644 --- a/src/tools/osdmaptool.cc +++ b/src/tools/osdmaptool.cc @@ -433,8 +433,8 @@ int main(int argc, const char **argv) vector rules; for (auto& r: pools_by_rule) rules.push_back(r.first); - srand(time(0)); - random_shuffle (rules.begin(), rules.end()); + std::random_device rd; + std::shuffle(rules.begin(), rules.end(), std::mt19937{rd()}); if (debug) { for (auto& r: rules) cout << "rule: " << r << " " << pools_by_rule[r] << std::endl;