Recent changes (master)

Jens Axboe
2014-03-21T12:00:05Z

The following changes since commit b1bebc321e3b831d424dd49626833dd642224bd4:

Prevent file_append=1 with IO engine that can't extend files (2014-03-18 13:30:32 -0600)

are available in the git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to 1417daeb92c44632f2e1e376d736a0f198d7af8d:

Don't re-create/unlink write file for append workload (2014-03-20 09:33:13 -0600)

----------------------------------------------------------------
Jens Axboe (2):
Unlink after file close
Don't re-create/unlink write file for append workload

filesetup.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

---

Diff of recent changes:

diff --git a/filesetup.c b/filesetup.c
index c3c0fc4..5ce0f68 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -50,10 +50,11 @@ static int extend_file(struct thread_data *td, struct fio_file *f)
* does that for operations involving reads, or for writes
* where overwrite is set
*/
- if (td_read(td) || (td_write(td) && td->o.overwrite) ||
+ if (td_read(td) ||
+ (td_write(td) && td->o.overwrite && !td->o.file_append) ||
(td_write(td) && td->io_ops->flags & FIO_NOEXTEND))
new_layout = 1;
- if (td_write(td) && !td->o.overwrite)
+ if (td_write(td) && !td->o.overwrite && !td->o.file_append)
unlink_file = 1;

if (unlink_file || new_layout) {
@@ -1057,16 +1058,16 @@ void close_and_free_files(struct thread_data *td)
dprint(FD_FILE, "close files\n");

for_each_file(td, f, i) {
- if (td->o.unlink && f->filetype == FIO_TYPE_FILE) {
- dprint(FD_FILE, "free unlink %s\n", f->file_name);
- unlink(f->file_name);
- }
-
if (fio_file_open(f))
td_io_close_file(td, f);

remove_file_hash(f);

+ if (td->o.unlink && f->filetype == FIO_TYPE_FILE) {
+ dprint(FD_FILE, "free unlink %s\n", f->file_name);
+ unlink(f->file_name);
+ }
+
sfree(f->file_name);
f->file_name = NULL;
axmap_free(f->io_axmap);