if (td_write(td) && !td->o.overwrite)
unlink_file = 1;
- if ((unlink_file || new_layout) && (f->flags & FIO_FILE_EXISTS)) {
- if (unlink(f->file_name) < 0) {
+ if (unlink_file || new_layout) {
+ if ((unlink(f->file_name) < 0) && (errno != ENOENT)) {
td_verror(td, errno, "unlink");
return 1;
}
struct fio_file *f;
unsigned int i;
- if (td->o.norandommap)
+ if (td->o.norandommap || !td_random(td))
return 0;
for_each_file(td, f, i) {
struct fio_file *f;
unsigned int i;
+ for_each_file(td, f, i)
+ td_io_close_file(td, f);
+}
+
+void close_and_free_files(struct thread_data *td)
+{
+ struct fio_file *f;
+ unsigned int i;
+
dprint(FD_FILE, "close files\n");
for_each_file(td, f, i) {