projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
backend: Add configurable non fatal error list
[fio.git]
/
ioengines.c
diff --git
a/ioengines.c
b/ioengines.c
index bb7833f120a6c5a62ba839750c15bb2e170e8582..c2a64cb092786519746ef82111e19bd1a79300fb 100644
(file)
--- 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.
*/
* 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);
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");
}
"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);
}
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]++;
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;
} else if (ret == FIO_Q_QUEUED) {
int r;