Fix signed int/long truncation on 32-bit architectures

With using our internal random generator, we generate
unsigned ints. But by mistake this was assigned to
a signed long, that doesn't work so well on 32-bit machines.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/io_u.c b/io_u.c
index 787f382..d35b844 100644
--- a/io_u.c
+++ b/io_u.c
@@ -346,7 +346,7 @@
 	const int ddir = io_u->ddir;
 	unsigned int uninitialized_var(buflen);
 	unsigned int minbs, maxbs;
-	long r, rand_max;
+	unsigned long r, rand_max;
 
 	assert(ddir_rw(ddir));
 
@@ -423,7 +423,7 @@
 static inline enum fio_ddir get_rand_ddir(struct thread_data *td)
 {
 	unsigned int v;
-	long r;
+	unsigned long r;
 
 	if (td->o.use_os_rand) {
 		r = os_random_long(&td->rwmix_state);
@@ -849,7 +849,7 @@
 
 	do {
 		int opened = 0;
-		long r;
+		unsigned long r;
 
 		if (td->o.use_os_rand) {
 			r = os_random_long(&td->next_file_state);