sem.c: cleanup
[fio.git] / io_u.c
diff --git a/io_u.c b/io_u.c
index 0ffae29c9f035a2d387ad00b0ae7d882ac0515b3..04d7dcbd2fc368397a5e4765e6e702d438cbbc80 100644 (file)
--- a/io_u.c
+++ b/io_u.c
@@ -561,7 +561,7 @@ static struct fio_file *get_next_file_rand(struct thread_data *td, int goodf,
                long r = os_random_long(&td->next_file_state);
 
                fno = (unsigned int) ((double) td->o.nr_files * (r / (RAND_MAX + 1.0)));
-               f = &td->files[fno];
+               f = td->files[fno];
                if (f->flags & FIO_FILE_DONE)
                        continue;
 
@@ -582,7 +582,7 @@ static struct fio_file *get_next_file_rr(struct thread_data *td, int goodf,
        struct fio_file *f;
 
        do {
-               f = &td->files[td->next_file];
+               f = td->files[td->next_file];
 
                td->next_file++;
                if (td->next_file >= td->o.nr_files)
@@ -665,6 +665,7 @@ set_file:
                 * td_io_close() does a put_file() as well, so no need to
                 * do that here.
                 */
+               unlock_file(io_u->file);
                io_u->file = NULL;
                td_io_close_file(td, f);
                f->flags |= FIO_FILE_DONE;
@@ -824,8 +825,6 @@ static void io_completed(struct thread_data *td, struct io_u *io_u,
                td->io_bytes[idx] += bytes;
                td->this_io_bytes[idx] += bytes;
 
-               io_u->file->last_completed_pos = io_u->endpos;
-
                usec = utime_since(&io_u->issue_time, &icd->time);
 
                add_clat_sample(td, idx, usec);