[PATCH] Don't segfault on missing argument data
[fio.git] / engines / fio-engine-cpu.c
index 6d6fc562d93d792eb2a59de1f5a7df31772d5c4a..f65f91d9e0f988e17e7d426bdde81f778a7bf14b 100644 (file)
@@ -1,5 +1,10 @@
-#include "fio.h"
-#include "os.h"
+#include "../fio.h"
+#include "../os.h"
+
+static int fio_cpuio_setup(struct thread_data fio_unused *td)
+{
+       return 0;
+}
 
 static int fio_cpuio_init(struct thread_data *td)
 {
@@ -9,15 +14,25 @@ static int fio_cpuio_init(struct thread_data *td)
        } else if (td->cpuload > 100)
                td->cpuload = 100;
 
-       td->read_iolog = td->write_iolog = 0;
-       td->fd = -1;
+       td->nr_files = 0;
 
        return 0;
 }
 
-struct ioengine_ops ioengine = {
+static struct ioengine_ops ioengine = {
        .name           = "cpuio",
        .version        = FIO_IOOPS_VERSION,
        .init           = fio_cpuio_init,
+       .setup          = fio_cpuio_setup,
        .flags          = FIO_CPUIO,
 };
+
+static void fio_init fio_cpuio_register(void)
+{
+       register_ioengine(&ioengine);
+}
+
+static void fio_exit fio_cpuio_unregister(void)
+{
+       unregister_ioengine(&ioengine);
+}