X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengines.c;h=fb475e9711d6b7fe9ccd6ba4496c9f7b7d64e85e;hb=df4bf1178ed773986129da6038961388af926971;hp=7951ff32e25c3e5090ebbc212731c6e0e86648a4;hpb=a7d01f02a8a19dcd6e33a18aa225a3b099247a76;p=fio.git diff --git a/ioengines.c b/ioengines.c index 7951ff32..fb475e97 100644 --- a/ioengines.c +++ b/ioengines.c @@ -194,8 +194,10 @@ void free_ioengine(struct thread_data *td) td->eo = NULL; } - if (td->io_ops_dlhandle) + if (td->io_ops_dlhandle) { dlclose(td->io_ops_dlhandle); + td->io_ops_dlhandle = NULL; + } td->io_ops = NULL; } @@ -222,7 +224,8 @@ int td_io_prep(struct thread_data *td, struct io_u *io_u) if (td->io_ops->prep) { int ret = td->io_ops->prep(td, io_u); - dprint(FD_IO, "->prep(%p)=%d\n", io_u, ret); + dprint(FD_IO, "prep: io_u %p: ret=%d\n", io_u, ret); + if (ret) unlock_file(td, io_u->file); return ret;