Add 'fsync_on_close' option
[fio.git] / filesetup.c
index c1107a42eb6f098a78a5e48cc25bfaae889df3fd..2a7e7cf55e33e31e9bd1e6a23eb260d1ee895c9b 100644 (file)
@@ -375,8 +375,6 @@ int setup_files(struct thread_data *td)
        for_each_file(td, f, i)
                td->total_file_size += f->file_size;
 
-       td->total_file_size = (td->total_file_size * td->nr_files) / td->open_files;
-
        td->io_size = td->total_file_size;
        if (td->io_size == 0) {
                log_err("%s: no io blocks\n", td->name);
@@ -467,6 +465,9 @@ void put_file(struct thread_data *td, struct fio_file *f)
        if (--f->references)
                return;
 
+       if (should_fsync(td) && td->fsync_on_close)
+               fsync(f->fd);
+
        if (td->io_ops->close_file)
                td->io_ops->close_file(td, f);
        td->nr_open_files--;