Wait for async threads before freeing/killing IO buffers
authorJens Axboe <jens.axboe@oracle.com>
Wed, 4 Nov 2009 11:51:17 +0000 (12:51 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Wed, 4 Nov 2009 11:51:17 +0000 (12:51 +0100)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fio.c

diff --git a/fio.c b/fio.c
index 8f8bb56113d2de45fe28191094742b247c227a79..debcac5eea9edeb55eea6ff0488e7389f8a5de14 100644 (file)
--- a/fio.c
+++ b/fio.c
@@ -1195,6 +1195,10 @@ err:
        if (td->error)
                printf("fio: pid=%d, err=%d/%s\n", (int) td->pid, td->error,
                                                        td->verror);
        if (td->error)
                printf("fio: pid=%d, err=%d/%s\n", (int) td->pid, td->error,
                                                        td->verror);
+
+       if (td->o.verify_async)
+               verify_async_exit(td);
+
        close_and_free_files(td);
        close_ioengine(td);
        cleanup_io_u(td);
        close_and_free_files(td);
        close_ioengine(td);
        cleanup_io_u(td);
@@ -1205,9 +1209,6 @@ err:
                td_verror(td, ret, "fio_cpuset_exit");
        }
 
                td_verror(td, ret, "fio_cpuset_exit");
        }
 
-       if (td->o.verify_async)
-               verify_async_exit(td);
-
        /*
         * do this very late, it will log file closing as well
         */
        /*
         * do this very late, it will log file closing as well
         */