From: John Coyle Date: Tue, 8 Dec 2015 21:40:23 +0000 (-0500) Subject: test/librbd/fsx: musl libc doesn't implement random_r. Use c++11 std::mt19937 generat... X-Git-Tag: v10.0.3~75^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1df970518f9c8c650f3b56eb96784eb60b550c0f;p=ceph.git test/librbd/fsx: musl libc doesn't implement random_r. Use c++11 std::mt19937 generator instead. Signed-off-by: John Coyle --- diff --git a/src/test/librbd/fsx.cc b/src/test/librbd/fsx.cc index 275f0034fcec..6f72f307e4cf 100644 --- a/src/test/librbd/fsx.cc +++ b/src/test/librbd/fsx.cc @@ -38,6 +38,7 @@ #include #include #include +#include #include "include/intarith.h" #include "include/krbd.h" @@ -231,22 +232,12 @@ simple_err(const char *msg, int err) /* * random */ +std::mt19937 random_generator; -#define RND_STATE_LEN 256 -char rnd_state[RND_STATE_LEN]; -struct random_data rnd_data; - -int32_t +uint_fast32_t get_random(void) { - int32_t val; - - if (random_r(&rnd_data, &val) < 0) { - prterr("random_r"); - exit(1); - } - - return val; + return random_generator(); } /* @@ -2206,14 +2197,7 @@ main(int argc, char **argv) signal(SIGUSR1, cleanup); signal(SIGUSR2, cleanup); - if (initstate_r(seed, rnd_state, RND_STATE_LEN, &rnd_data) < 0) { - prterr("initstate_r"); - exit(1); - } - if (setstate_r(rnd_state, &rnd_data) < 0) { - prterr("setstate_r"); - exit(1); - } + random_generator.seed(seed); ret = create_image(); if (ret < 0) {