X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengines.c;h=c2a64cb092786519746ef82111e19bd1a79300fb;hp=bb7833f120a6c5a62ba839750c15bb2e170e8582;hb=8e600258bad065fbdfd6a1b2856077d12cd521e5;hpb=a05d62b28f18e37256f2698106169b1177708cc1 diff --git a/ioengines.c b/ioengines.c index bb7833f1..c2a64cb0 100644 --- a/ioengines.c +++ b/ioengines.c @@ -104,7 +104,9 @@ static struct ioengine_ops *dlopen_ioengine(struct thread_data *td, * Unlike the included modules, external engines should have a * non-static ioengine structure that we can reference. */ - ops = dlsym(dlhandle, "ioengine"); + ops = dlsym(dlhandle, engine_lib); + if (!ops) + ops = dlsym(dlhandle, "ioengine"); if (!ops) { td_vmsg(td, -1, dlerror(), "dlsym"); dlclose(dlhandle); @@ -293,7 +295,7 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u) "support direct IO, or iomem_align= is bad.\n"); } - if (!td->io_ops->commit) { + if (!td->io_ops->commit || ddir_trim(io_u->ddir)) { io_u_mark_submit(td, 1); io_u_mark_complete(td, 1); } @@ -302,8 +304,7 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u) if (ddir_rw(io_u->ddir)) { io_u_mark_depth(td, 1); td->ts.total_io_u[io_u->ddir]++; - } else if (io_u->ddir == DDIR_TRIM) - td->ts.total_io_u[2]++; + } } else if (ret == FIO_Q_QUEUED) { int r;