Dummy AIORI driver

master
Julian M. Kunkel 2018-07-07 13:24:59 +01:00
parent 15c383b0d1
commit 378789737f
4 changed files with 70 additions and 2 deletions

View File

@ -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 =

66
src/aiori-DUMMY.c Executable file
View File

@ -0,0 +1,66 @@
/*
* Dummy implementation doesn't do anything besides waiting
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#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,
};

View File

@ -28,7 +28,8 @@
*/
ior_aiori_t *available_aiori[] = {
& dummy_aiori,
#ifdef USE_HDF5_AIORI
&hdf5_aiori,
#endif

View File

@ -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;