Add OpenBSD support
[fio.git] / filesetup.c
index 4265e3830a73c57f0f3a1c1d24e87db6b3344d9a..601df8f1ddec655b09ec8eb7b2d03947307a8e65 100644 (file)
@@ -121,8 +121,10 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
                dprint(FD_FILE, "truncate file %s, size %llu\n", f->file_name,
                                        (unsigned long long) f->real_file_size);
                if (ftruncate(f->fd, f->real_file_size) == -1) {
-                       td_verror(td, errno, "ftruncate");
-                       goto err;
+                       if (errno != EFBIG) {
+                               td_verror(td, errno, "ftruncate");
+                               goto err;
+                       }
                }
        }
 
@@ -519,6 +521,13 @@ int generic_open_file(struct thread_data *td, struct fio_file *f)
                goto skip_flags;
        if (td->o.odirect)
                flags |= OS_O_DIRECT;
+       if (td->o.oatomic) {
+               if (!FIO_O_ATOMIC) {
+                       td_verror(td, EINVAL, "OS does not support atomic IO");
+                       return 1;
+               }
+               flags |= OS_O_DIRECT | FIO_O_ATOMIC;
+       }
        if (td->o.sync_io)
                flags |= O_SYNC;
        if (td->o.create_on_open)