[PATCH] Only unlink the same file once
authorJens Axboe <jens.axboe@oracle.com>
Tue, 24 Oct 2006 08:27:38 +0000 (10:27 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Tue, 24 Oct 2006 08:27:38 +0000 (10:27 +0200)
If filename= is used, make sure we only do the unlink() once.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
filesetup.c

index 4310a79f7e6e513b341324c3b2aa3679ffa39219..52d822ac4b6c8fb1bff042fd56aae96e0846c9da 100644 (file)
@@ -404,8 +404,11 @@ void close_files(struct thread_data *td)
 
        for_each_file(td, f, i) {
                if (f->fd != -1) {
 
        for_each_file(td, f, i) {
                if (f->fd != -1) {
-                       if (td->unlink && td->filetype == FIO_TYPE_FILE)
+                       if (td->unlink && td->filetype == FIO_TYPE_FILE &&
+                           td->filename) {
                                unlink(f->file_name);
                                unlink(f->file_name);
+                               td->filename = NULL;
+                       }
                        free(f->file_name);
                        f->file_name = NULL;
                        close(f->fd);
                        free(f->file_name);
                        f->file_name = NULL;
                        close(f->fd);