static unsigned long long get_rand_file_size(struct thread_data *td)
{
- unsigned long long ret, size_d;
+ unsigned long long ret, sized;
long r;
r = os_random_long(&td->file_size_state);
- size_d = td->o.file_size_high - td->o.file_size_low;
- ret = (unsigned long long) ((double) size_d * (r / (RAND_MAX + 1.0)));
+ sized = td->o.file_size_high - td->o.file_size_low;
+ ret = (unsigned long long) ((double) sized * (r / (OS_RAND_MAX + 1.0)));
ret += td->o.file_size_low;
ret -= (ret % td->o.rw_min_bs);
return ret;
r = os_random_long(&td->random_state);
dprint(FD_RANDOM, "off rand %llu\n", r);
*b = (last_block(td, f, ddir) - 1)
- * (r / ((unsigned long long) RAND_MAX + 1.0));
+ * (r / ((unsigned long long) OS_RAND_MAX + 1.0));
/*
* if we are not maintaining a random map, we are done.
*/
loops = 10;
do {
- f->last_free_lookup = (f->num_maps - 1) * (r / (RAND_MAX+1.0));
+ f->last_free_lookup = (f->num_maps - 1) *
+ (r / (OS_RAND_MAX + 1.0));
if (!get_next_free_block(td, f, ddir, b))
return 0;
if (!td->o.bssplit_nr) {
buflen = (unsigned int)
(1 + (double) (td->o.max_bs[ddir] - 1)
- * r / (RAND_MAX + 1.0));
+ * r / (OS_RAND_MAX + 1.0));
} else {
long perc = 0;
unsigned int i;
long r;
r = os_random_long(&td->rwmix_state);
- v = 1 + (int) (100.0 * (r / (RAND_MAX + 1.0)));
+ v = 1 + (int) (100.0 * (r / (OS_RAND_MAX + 1.0)));
if (v <= td->o.rwmix[DDIR_READ])
return DDIR_READ;
long r = os_random_long(&td->next_file_state);
fno = (unsigned int) ((double) td->o.nr_files
- * (r / (RAND_MAX + 1.0)));
+ * (r / (OS_RAND_MAX + 1.0)));
f = td->files[fno];
if (f->flags & FIO_FILE_DONE)
continue;
#define FIO_HAVE_POSIXAIO
#define FIO_HAVE_ODIRECT
-#define OS_MAP_ANON (MAP_ANON)
+#define OS_MAP_ANON MAP_ANON
typedef unsigned long os_cpu_mask_t;
typedef unsigned int os_random_state_t;
#define FIO_HAVE_FALLOCATE
#define FIO_HAVE_POSIXAIO_FSYNC
-#define OS_MAP_ANON (MAP_ANONYMOUS)
+#define OS_MAP_ANON MAP_ANONYMOUS
#ifndef CLOCK_MONOTONIC
#define CLOCK_MONOTONIC 1
#define FIO_HAVE_FALLOCATE
#define FIO_HAVE_POSIXAIO_FSYNC
-#define OS_MAP_ANON (MAP_ANON)
+#define OS_MAP_ANON MAP_ANON
+#define OS_RAND_MAX 2147483648UL
struct solaris_rand_seed {
unsigned short r[3];
#define FIO_O_NOATIME 0
#endif
+#ifndef OS_RAND_MAX
+#define OS_RAND_MAX RAND_MAX
+#endif
+
#ifndef FIO_HAVE_RAWBIND
#define fio_lookup_raw(dev, majdev, mindev) 1
#endif