dprint(FD_FILE, "fallocate file %s, size %llu\n", f->file_name,
f->real_file_size);
- if (posix_fallocate(f->fd, 0, f->real_file_size) < 0) {
- td_verror(td, errno, "posix_fallocate");
- goto err;
- }
+ r = posix_fallocate(f->fd, 0, f->real_file_size);
+ if (r < 0)
+ td_verror(td, -r, "posix_fallocate");
b = malloc(td->o.max_bs[DDIR_WRITE]);
memset(b, 0, td->o.max_bs[DDIR_WRITE]);
int file_invalidate_cache(struct thread_data *td, struct fio_file *f)
{
+ if (!(f->flags & FIO_FILE_OPEN))
+ return 0;
+
return __file_invalidate_cache(td, f, -1, -1);
}
if (td->o.sync_io)
flags |= O_SYNC;
if (f->filetype != FIO_TYPE_FILE)
- flags |= O_NOATIME;
+ flags |= FIO_O_NOATIME;
open_again:
if (td_write(td)) {
char buf[FIO_VERROR_SIZE];
int __e = errno;
- if (errno == EPERM && (flags & O_NOATIME)) {
- flags &= ~O_NOATIME;
+ if (errno == EPERM && (flags & FIO_O_NOATIME)) {
+ flags &= ~FIO_O_NOATIME;
goto open_again;
}
ret = td->io_ops->close_file(td, f);
if (!ret)
- ret = !f_ret;
+ ret = f_ret;
td->nr_open_files--;
f->flags &= ~FIO_FILE_OPEN;