Silence 'io_u might be used uninitialized' warning
[fio.git] / io_u.c
diff --git a/io_u.c b/io_u.c
index 619fa25255f84ee785eccedcf7f96bfe94b41ab4..8e27708731c7290abc4e468000ec045d856e1241 100644 (file)
--- a/io_u.c
+++ b/io_u.c
@@ -104,7 +104,7 @@ static int __get_next_rand_offset(struct thread_data *td, struct fio_file *f,
 
                dprint(FD_RANDOM, "off rand %llu\n", (unsigned long long) r);
 
-               *b = (lastb - 1) * (r / ((uint64_t) rmax + 1.0));
+               *b = lastb * (r / ((uint64_t) rmax + 1.0));
        } else {
                uint64_t off = 0;
 
@@ -1093,7 +1093,10 @@ static struct fio_file *__get_next_file(struct thread_data *td)
        td->file_service_file = f;
        td->file_service_left = td->file_service_nr - 1;
 out:
-       dprint(FD_FILE, "get_next_file: %p [%s]\n", f, f->file_name);
+       if (f)
+               dprint(FD_FILE, "get_next_file: %p [%s]\n", f, f->file_name);
+       else
+               dprint(FD_FILE, "get_next_file: NULL\n");
        return f;
 }
 
@@ -1294,7 +1297,7 @@ int queue_full(struct thread_data *td)
 
 struct io_u *__get_io_u(struct thread_data *td)
 {
-       struct io_u *io_u;
+       struct io_u *io_u = NULL;
 
        td_io_u_lock(td);
 
@@ -1304,9 +1307,9 @@ again:
        else if (!queue_full(td)) {
                io_u = io_u_qpop(&td->io_u_freelist);
 
+               io_u->file = NULL;
                io_u->buflen = 0;
                io_u->resid = 0;
-               io_u->file = NULL;
                io_u->end_io = NULL;
        }