From: Jens Axboe Date: Thu, 23 Nov 2006 11:23:12 +0000 (+0100) Subject: [PATCH] File close fix X-Git-Tag: fio-1.10~25 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=132ad46d22bcf12da95ad69e03c1b6f23f5e60a9 [PATCH] File close fix We should unlink and invalidate a closed file, to less impact on other threads or pending jobs. Signed-off-by: Jens Axboe --- diff --git a/filesetup.c b/filesetup.c index fd50b6f7..705eb4a9 100644 --- a/filesetup.c +++ b/filesetup.c @@ -408,22 +408,22 @@ void close_files(struct thread_data *td) for_each_file(td, f, i) { if (f->fd != -1) { - if (td->unlink && td->filetype == FIO_TYPE_FILE && - td->filename) { - unlink(f->file_name); - td->filename = NULL; - } - free(f->file_name); - f->file_name = NULL; + file_invalidate_cache(td, f); close(f->fd); f->fd = -1; } + if (td->unlink && td->filetype == FIO_TYPE_FILE) { + unlink(f->file_name); + free(f->file_name); + f->file_name = NULL; + } if (f->mmap) { munmap(f->mmap, f->file_size); f->mmap = NULL; } } + td->filename = NULL; free(td->files); td->files = NULL; td->nr_files = 0;