From 7c83c089a9b8bd742f788157ac47a5af363adb19 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 1 Mar 2007 10:04:15 +0100 Subject: [PATCH] Fix for file_service_type=random We need to retrieve a new random offset if the file is closed, obviously. Signed-off-by: Jens Axboe --- io_u.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/io_u.c b/io_u.c index 978771e1..6df4b5ee 100644 --- a/io_u.c +++ b/io_u.c @@ -329,11 +329,12 @@ static void io_u_mark_latency(struct thread_data *td, unsigned long msec) */ static struct fio_file *get_next_file_rand(struct thread_data *td) { - long r = os_random_long(&td->next_file_state); unsigned int fileno; struct fio_file *f; do { + long r = os_random_long(&td->next_file_state); + fileno = (unsigned int) ((double) (td->nr_files - 1) * r / (RAND_MAX + 1.0)); f = &td->files[fileno]; if (f->fd != -1) -- 2.25.1