Drop struct thread_data dependency from os headers
[fio.git] / filesetup.c
index bd971e8e1f032731ed3f72582c07beb486f34261..612e79474dc4b43c0707d6a43dccf3d98a2f9e8f 100644 (file)
@@ -239,6 +239,9 @@ static int pre_read_file(struct thread_data *td, struct fio_file *f)
            td_ioengine_flagged(td, FIO_NOIO))
                return 0;
 
+       if (f->filetype == FIO_TYPE_CHAR)
+               return 0;
+
        if (!fio_file_open(f)) {
                if (td->io_ops->open_file(td, f)) {
                        log_err("fio: cannot pre-read, failed to open file\n");
@@ -1119,10 +1122,11 @@ int pre_read_files(struct thread_data *td)
        dprint(FD_FILE, "pre_read files\n");
 
        for_each_file(td, f, i) {
-               pre_read_file(td, f);
+               if (pre_read_file(td, f))
+                       return -1;
        }
 
-       return 1;
+       return 0;
 }
 
 static int __init_rand_distribution(struct thread_data *td, struct fio_file *f)