Explicitly check td_trim(td) for the direction of next io_u
[fio.git] / filesetup.c
index 4aaa903576bbe04dccdfc69e0088c8cd79cf2e76..e9976eb17a879ee3c98f51f45dc3b0746f23f3f5 100644 (file)
@@ -375,10 +375,12 @@ static int get_file_size(struct thread_data *td, struct fio_file *f)
        else if (f->filetype == FIO_TYPE_CHAR)
                ret = char_size(td, f);
        else
-               f->real_file_size = -1;
+               f->real_file_size = -1ULL;
 
-       if (ret)
+       if (ret) {
+               f->real_file_size = -1ULL;
                return ret;
+       }
 
        if (f->file_offset > f->real_file_size) {
                log_err("%s: offset extends end (%llu > %llu)\n", td->o.name,
@@ -498,9 +500,6 @@ int file_lookup_open(struct fio_file *f, int flags)
        __f = lookup_file_hash(f->file_name);
        if (__f) {
                dprint(FD_FILE, "found file in hash %s\n", f->file_name);
-               /*
-                * racy, need the __f->lock locked
-                */
                f->lock = __f->lock;
                from_hash = 1;
        } else {
@@ -1208,7 +1207,6 @@ void close_and_free_files(struct thread_data *td)
        td->o.filename = NULL;
        free(td->files);
        free(td->file_locks);
-       free(td->sysfs_root);
        td->files_index = 0;
        td->files = NULL;
        td->file_locks = NULL;