close_ioengine() clears ->data after calling engine cleanup
authorJens Axboe <jens.axboe@oracle.com>
Fri, 30 May 2008 20:07:12 +0000 (22:07 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Fri, 30 May 2008 20:07:12 +0000 (22:07 +0200)
Then we can remove that bit from io engines.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
engines/guasi.c
engines/libaio.c
engines/net.c
engines/null.c
engines/posixaio.c
engines/sg.c
engines/splice.c
engines/sync.c
engines/syslet-rw.c
ioengines.c

index b65061e..a7589dc 100644 (file)
@@ -213,7 +213,6 @@ static void fio_guasi_cleanup(struct thread_data *td)
                free(ld->reqs);
                free(ld->io_us);
                free(ld);
-               td->io_ops->data = NULL;
        }
        GDBG_PRINT(("fio_guasi_cleanup(%p) DONE\n", ld));
 }
index 7e69c23..e6b926c 100644 (file)
@@ -177,7 +177,6 @@ static void fio_libaio_cleanup(struct thread_data *td)
                free(ld->iocbs);
                free(ld->io_us);
                free(ld);
-               td->io_ops->data = NULL;
        }
 }
 
index 0efd336..4591477 100644 (file)
@@ -426,7 +426,6 @@ static void fio_netio_cleanup(struct thread_data *td)
                        close(nd->pipes[1]);
 
                free(nd);
-               td->io_ops->data = NULL;
        }
 }
 
index eb80501..f434550 100644 (file)
@@ -83,7 +83,6 @@ static void fio_null_cleanup(struct thread_data *td)
                if (nd->io_us)
                        free(nd->io_us);
                free(nd);
-               td->io_ops->data = NULL;
        }
 }
 
index ddc75d1..acd215c 100644 (file)
@@ -184,7 +184,6 @@ static void fio_posixaio_cleanup(struct thread_data *td)
        if (pd) {
                free(pd->aio_events);
                free(pd);
-               td->io_ops->data = NULL;
        }
 }
 
index cb44fa4..d7c0a6d 100644 (file)
@@ -311,8 +311,6 @@ static void fio_sgio_cleanup(struct thread_data *td)
                free(sd->pfds);
                free(sd->sgbuf);
                free(sd);
-
-               td->io_ops->data = NULL;
        }
 }
 
index 5a288b5..2753bfa 100644 (file)
@@ -246,7 +246,6 @@ static void fio_spliceio_cleanup(struct thread_data *td)
                close(sd->pipe[0]);
                close(sd->pipe[1]);
                free(sd);
-               td->io_ops->data = NULL;
        }
 }
 
index 3b96ee1..4ca04d5 100644 (file)
@@ -274,7 +274,6 @@ static void fio_vsyncio_cleanup(struct thread_data *td)
        free(sd->iovecs);
        free(sd->io_us);
        free(sd);
-       td->io_ops->data = NULL;
 }
 
 static struct ioengine_ops ioengine_rw = {
index 0fdf752..47610a0 100644 (file)
@@ -222,7 +222,6 @@ static void fio_syslet_cleanup(struct thread_data *td)
                free(sd->events);
                free(sd->ring);
                free(sd);
-               td->io_ops->data = NULL;
        }
 }
 
index fb68763..662d55d 100644 (file)
@@ -154,8 +154,10 @@ void close_ioengine(struct thread_data *td)
 {
        dprint(FD_IO, "close ioengine %s\n", td->io_ops->name);
 
-       if (td->io_ops->cleanup)
+       if (td->io_ops->cleanup) {
                td->io_ops->cleanup(td);
+               td->io_ops->data = NULL;
+       }
 
        if (td->io_ops->dlhandle)
                dlclose(td->io_ops->dlhandle);