Missed int to pointer conversion check for ->ratemin
[fio.git] / filesetup.c
index 7ed47a25b5846108125e1028f30fa51d9cb87425..57928133369cdd520a1b89052cbc9362b773ca78 100644 (file)
 
 static int root_warn;
 
+static inline void clear_error(struct thread_data *td)
+{
+       td->error = 0;
+       td->verror[0] = '\0';
+}
+
 /*
  * Leaves f->fd open on success, caller must close
  */
@@ -126,7 +132,7 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
                        goto err;
                }
        }
-       if (td->o.fill_device) {
+       if (td->o.fill_device && !td_write(td)) {
                fio_file_clear_size_known(f);
                if (td_io_get_file_size(td, f))
                        goto err;
@@ -284,6 +290,9 @@ static int __file_invalidate_cache(struct thread_data *td, struct fio_file *f,
        if (off == -1ULL)
                off = f->file_offset;
 
+       if (len == -1ULL || off == -1ULL)
+               return 0;
+
        dprint(FD_IO, "invalidate cache %s: %llu/%llu\n", f->file_name, off,
                                                                len);