backend: make it clear that we passed 'fd' to the new thread
[fio.git] / ioengines.c
index 9638d8043753627f60ffc223b8308ca6f61d57af..02eaee8484938d0e6310b1238e690ecda08dd3c6 100644 (file)
@@ -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);
@@ -436,6 +436,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)