X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengines.c;h=7951ff32e25c3e5090ebbc212731c6e0e86648a4;hp=9638d8043753627f60ffc223b8308ca6f61d57af;hb=dd199856ec977d7d1d1c977b8d53643d9e373be2;hpb=78d4a262a0758d47631bfd44672bbd5f9eff9b42 diff --git a/ioengines.c b/ioengines.c index 9638d804..7951ff32 100644 --- a/ioengines.c +++ b/ioengines.c @@ -52,14 +52,12 @@ static bool check_engine_ops(struct ioengine_ops *ops) void unregister_ioengine(struct ioengine_ops *ops) { dprint(FD_IO, "ioengine %s unregistered\n", ops->name); - flist_del(&ops->list); - INIT_FLIST_HEAD(&ops->list); + flist_del_init(&ops->list); } void register_ioengine(struct ioengine_ops *ops) { dprint(FD_IO, "ioengine %s registered\n", ops->name); - INIT_FLIST_HEAD(&ops->list); flist_add_tail(&ops->list, &engine_list); } @@ -133,8 +131,10 @@ static struct ioengine_ops *__load_ioengine(const char *name) /* * linux libaio has alias names, so convert to what we want */ - if (!strncmp(engine, "linuxaio", 8) || !strncmp(engine, "aio", 3)) + if (!strncmp(engine, "linuxaio", 8) || !strncmp(engine, "aio", 3)) { + dprint(FD_IO, "converting ioengine name: %s -> libaio\n", name); strcpy(engine, "libaio"); + } dprint(FD_IO, "load ioengine %s\n", engine); return find_ioengine(engine); @@ -309,8 +309,10 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u) } if (ddir_rw(ddir)) { - td->io_issues[ddir]++; - td->io_issue_bytes[ddir] += buflen; + if (!(io_u->flags & IO_U_F_VER_LIST)) { + td->io_issues[ddir]++; + td->io_issue_bytes[ddir] += buflen; + } td->rate_io_issue_bytes[ddir] += buflen; } @@ -436,6 +438,7 @@ int td_io_open_file(struct thread_data *td, struct fio_file *f) { assert(!fio_file_open(f)); assert(f->fd == -1); + assert(td->io_ops->open_file); if (td->io_ops->open_file(td, f)) { if (td->error == EINVAL && td->o.odirect)