Switch all random generators to be decided by use_os_rand
This includes file sizing, next file, block size selection,
trim state, and verify state.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/filesetup.c b/filesetup.c
index 0454cc4..2b690c8 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -210,9 +210,16 @@
unsigned long long ret, sized;
long r;
- r = os_random_long(&td->file_size_state);
- sized = td->o.file_size_high - td->o.file_size_low;
- ret = (unsigned long long) ((double) sized * (r / (OS_RAND_MAX + 1.0)));
+ if (td->o.use_os_rand) {
+ r = os_random_long(&td->file_size_state);
+ sized = td->o.file_size_high - td->o.file_size_low;
+ ret = (unsigned long long) ((double) sized * (r / (OS_RAND_MAX + 1.0)));
+ } else {
+ r = __rand(&td->__file_size_state);
+ sized = td->o.file_size_high - td->o.file_size_low;
+ ret = (unsigned long long) ((double) sized * (r / (FRAND_MAX + 1.0)));
+ }
+
ret += td->o.file_size_low;
ret -= (ret % td->o.rw_min_bs);
return ret;