}
dprint(FD_FILE, "fio setup %p\n", g->fs);
td->io_ops->data = g;
+ return 0;
cleanup:
- if (r) {
- if (g) {
- if (g->fs) {
- glfs_fini(g->fs);
- }
- free(g);
- td->io_ops->data = NULL;
- }
- }
+ if (g->fs)
+ glfs_fini(g->fs);
+ free(g);
+ td->io_ops->data = NULL;
return r;
}
else
flags = O_RDONLY;
}
+
+ if (td->o.odirect)
+ flags |= OS_O_DIRECT;
+ if (td->o.sync_io)
+ flags |= O_SYNC;
+
dprint(FD_FILE, "fio file %s open mode %s td rw %s\n", f->file_name,
- flags == O_RDONLY ? "ro" : "rw", td_read(td) ? "read" : "write");
+ flags & O_RDONLY ? "ro" : "rw", td_read(td) ? "read" : "write");
g->fd = glfs_creat(g->fs, f->file_name, flags, 0644);
if (!g->fd) {
- log_err("glfs_creat failed.\n");
ret = errno;
+ log_err("glfs_creat failed.\n");
+ return ret;
}
/* file for read doesn't exist or shorter than required, create/extend it */
if (td_read(td)) {
dprint(FD_FILE, "fio %p created %s\n", g->fs, f->file_name);
f->fd = -1;
f->shadow_fd = -1;
-
+ td->o.open_files ++;
return ret;
}