From 378789737f605241eccd81594706c78a2bb3cf22 Mon Sep 17 00:00:00 2001 From: "Julian M. Kunkel" Date: Sat, 7 Jul 2018 13:24:59 +0100 Subject: [PATCH] Dummy AIORI driver --- src/Makefile.am | 2 +- src/aiori-DUMMY.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++ src/aiori.c | 3 ++- src/aiori.h | 1 + 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100755 src/aiori-DUMMY.c diff --git a/src/Makefile.am b/src/Makefile.am index 872a5a8..4bc3068 100755 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,7 +5,7 @@ endif noinst_HEADERS = ior.h utilities.h parse_options.h aiori.h iordef.h getopt/optlist.h -extraSOURCES = aiori.c +extraSOURCES = aiori.c aiori-DUMMY.c extraLDADD = extraLDFLAGS = extraCPPFLAGS = diff --git a/src/aiori-DUMMY.c b/src/aiori-DUMMY.c new file mode 100755 index 0000000..3b7daf3 --- /dev/null +++ b/src/aiori-DUMMY.c @@ -0,0 +1,66 @@ +/* +* Dummy implementation doesn't do anything besides waiting +*/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include + +#include "ior.h" +#include "aiori.h" +#include "utilities.h" + +static void *DUMMY_Create(char *testFileName, IOR_param_t * param) +{ + return 0; +} + +static void *DUMMY_Open(char *testFileName, IOR_param_t * param) +{ + return 0; +} + +static void DUMMY_Fsync(void *fd, IOR_param_t * param) +{ +} + +static void DUMMY_Close(void *fd, IOR_param_t * param) +{ +} + +static void DUMMY_Delete(char *testFileName, IOR_param_t * param) +{ +} + +static void DUMMY_SetVersion(IOR_param_t * test) +{ + sprintf(test->apiVersion, "DUMMY"); +} + +static IOR_offset_t DUMMY_GetFileSize(IOR_param_t * test, MPI_Comm testComm, char *testFileName) +{ return 0; +} + +static IOR_offset_t DUMMY_Xfer(int access, void *file, IOR_size_t * buffer, IOR_offset_t length, IOR_param_t * param){ + if (rank == 0){ + usleep(100000); + } + return length; +} + + +ior_aiori_t dummy_aiori = { + .name = "DUMMY", + .create = DUMMY_Create, + .open = DUMMY_Open, + .xfer = DUMMY_Xfer, + .close = DUMMY_Close, + .delete = DUMMY_Delete, + .set_version = DUMMY_SetVersion, + .fsync = DUMMY_Fsync, + .get_file_size = DUMMY_GetFileSize, +}; diff --git a/src/aiori.c b/src/aiori.c index 677c1ea..69ed158 100644 --- a/src/aiori.c +++ b/src/aiori.c @@ -28,7 +28,8 @@ */ ior_aiori_t *available_aiori[] = { - + & dummy_aiori, + #ifdef USE_HDF5_AIORI &hdf5_aiori, #endif diff --git a/src/aiori.h b/src/aiori.h index 4ee400a..ee96795 100755 --- a/src/aiori.h +++ b/src/aiori.h @@ -79,6 +79,7 @@ typedef struct ior_aiori { int (*stat) (const char *path, struct stat *buf, IOR_param_t * param); } ior_aiori_t; +extern ior_aiori_t dummy_aiori; extern ior_aiori_t hdf5_aiori; extern ior_aiori_t hdfs_aiori; extern ior_aiori_t mpiio_aiori;