engines/hdfs: swap fio_hdfsio_init and fio_hdfsio_io_u_init
authorAlbert Chang <albert.chang@hitachivantara.com>
Thu, 5 Nov 2020 18:30:22 +0000 (13:30 -0500)
committerAlbert Chang <albert.chang@hitachivantara.com>
Thu, 5 Nov 2020 18:30:22 +0000 (13:30 -0500)
Commit 08dc3bd50 initialized the io engine before the io_u buffers. The
unintended consequence for the libhdfs io engine was that the HDFS
connection was not established before attempting to open HDFS file
handles. This caused a NPE in the java layer on start-up preventing the
libhdfs io engine from being able to be used.

Signed-off-by: Albert Chang <albert.chang@hitachivantara.com>
engines/libhdfs.c

index 9ca82f78cb067469190b2e393f7bc0dd7215df7c..eb55c3c549e880eb9abfeef8ab2093095e15bc7b 100644 (file)
@@ -240,7 +240,7 @@ int fio_hdfsio_close_file(struct thread_data *td, struct fio_file *f)
        return 0;
 }
 
-static int fio_hdfsio_init(struct thread_data *td)
+static int fio_hdfsio_io_u_init(struct thread_data *td, struct io_u *io_u)
 {
        struct hdfsio_options *options = td->eo;
        struct hdfsio_data *hd = td->io_ops_data;
@@ -349,7 +349,7 @@ static int fio_hdfsio_setup(struct thread_data *td)
        return 0;
 }
 
-static int fio_hdfsio_io_u_init(struct thread_data *td, struct io_u *io_u)
+static int fio_hdfsio_init(struct thread_data *td)
 {
        struct hdfsio_data *hd = td->io_ops_data;
        struct hdfsio_options *options = td->eo;