- }
-
- return err;
-}
-
-static int setup_file(struct thread_data *td, struct fio_file *f)
-{
- int flags = 0;
-
- if (td->odirect)
- flags |= OS_O_DIRECT;
-
- if (td_write(td) || td_rw(td)) {
- if (td->filetype == FIO_TYPE_FILE) {
- if (!td->overwrite)
- flags |= O_TRUNC;
-
- flags |= O_CREAT;
- }
- if (td->sync_io)
- flags |= O_SYNC;
-
- flags |= O_RDWR;
-
- f->fd = open(f->file_name, flags, 0600);
- } else {
- if (td->filetype == FIO_TYPE_CHAR)
- flags |= O_RDWR;
- else
- flags |= O_RDONLY;