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;
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);
extern struct thread_data *threads;
-#define td_read(td) ((td)->o.td_ddir & TD_DDIR_READ)
-#define td_write(td) ((td)->o.td_ddir & TD_DDIR_WRITE)
-#define td_rw(td) (((td)->o.td_ddir & TD_DDIR_RW) == TD_DDIR_RW)
-#define td_random(td) ((td)->o.td_ddir & TD_DDIR_RAND)
-#define file_randommap(td, f) (!(td)->o.norandommap && (f)->file_map)
-
static inline void fio_ro_check(struct thread_data *td, struct io_u *io_u)
{
assert(!(io_u->ddir == DDIR_WRITE && !td_write(td)));
#include "filehash.h"
#include "verify.h"
-static char fio_version_string[] = "fio 1.27";
+static char fio_version_string[] = "fio 1.27.1";
#define FIO_RANDSEED (0xb1899bedUL)
TD_DDIR_RANDRW = TD_DDIR_RW | TD_DDIR_RAND,
};
+#define td_read(td) ((td)->o.td_ddir & TD_DDIR_READ)
+#define td_write(td) ((td)->o.td_ddir & TD_DDIR_WRITE)
+#define td_rw(td) (((td)->o.td_ddir & TD_DDIR_RW) == TD_DDIR_RW)
+#define td_random(td) ((td)->o.td_ddir & TD_DDIR_RAND)
+#define file_randommap(td, f) (!(td)->o.norandommap && (f)->file_map)
+
#endif