IOR
Macros | Functions | Variables
aiori-IME.c File Reference
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include "ior.h"
#include "iordef.h"
#include "aiori.h"
#include "utilities.h"
#include "ime_native.h"
Include dependency graph for aiori-IME.c:

Go to the source code of this file.

Macros

#define O_BINARY   0
 

Functions

static void * IME_Create (char *, IOR_param_t *)
 
static void * IME_Open (char *, IOR_param_t *)
 
static void IME_Close (void *, IOR_param_t *)
 
static void IME_Delete (char *, IOR_param_t *)
 
static char * IME_GetVersion ()
 
static void IME_Fsync (void *, IOR_param_t *)
 
static int IME_Access (const char *, int, IOR_param_t *)
 
static IOR_offset_t IME_GetFileSize (IOR_param_t *, MPI_Comm, char *)
 
static IOR_offset_t IME_Xfer (int, void *, IOR_size_t *, IOR_offset_t, IOR_param_t *)
 
static int IME_StatFS (const char *, ior_aiori_statfs_t *, IOR_param_t *)
 
static int IME_RmDir (const char *, IOR_param_t *)
 
static int IME_MkDir (const char *, mode_t, IOR_param_t *)
 
static int IME_Stat (const char *, struct stat *, IOR_param_t *)
 
static void IME_Initialize ()
 
static void IME_Finalize ()
 

Variables

int rank
 
int rankOffset
 
int verbose
 
MPI_Comm testComm
 
ior_aiori_t ime_aiori
 

Macro Definition Documentation

◆ O_BINARY

#define O_BINARY   0

Definition at line 34 of file aiori-IME.c.

Referenced by IME_Open().

Function Documentation

◆ IME_Access()

static int IME_Access ( const char *  path,
int  mode,
IOR_param_t param 
)
static

Definition at line 104 of file aiori-IME.c.

◆ IME_Close()

static void IME_Close ( void *  fd,
IOR_param_t param 
)
static

Definition at line 234 of file aiori-IME.c.

References ERR.

◆ IME_Create()

static void * IME_Create ( char *  testFileName,
IOR_param_t param 
)
static

Definition at line 114 of file aiori-IME.c.

References IME_Open().

Here is the call graph for this function:

◆ IME_Delete()

static void IME_Delete ( char *  testFileName,
IOR_param_t param 
)
static

Definition at line 248 of file aiori-IME.c.

References rank, and WARN.

◆ IME_Finalize()

static void IME_Finalize ( )
static

Definition at line 96 of file aiori-IME.c.

◆ IME_Fsync()

static void IME_Fsync ( void *  fd,
IOR_param_t param 
)
static

Definition at line 225 of file aiori-IME.c.

References WARN.

Referenced by IME_Xfer().

Here is the caller graph for this function:

◆ IME_GetFileSize()

static IOR_offset_t IME_GetFileSize ( IOR_param_t test,
MPI_Comm  testComm,
char *  testFileName 
)
static

Definition at line 323 of file aiori-IME.c.

References ERR, IOR_param_t::filePerProc, MPI_CHECK, rank, and WARN.

◆ IME_GetVersion()

static char * IME_GetVersion ( )
static

Definition at line 260 of file aiori-IME.c.

◆ IME_Initialize()

static void IME_Initialize ( )
static

Definition at line 88 of file aiori-IME.c.

◆ IME_MkDir()

static int IME_MkDir ( const char *  oid,
mode_t  mode,
IOR_param_t param 
)
static

Definition at line 288 of file aiori-IME.c.

References WARN.

◆ IME_Open()

static void * IME_Open ( char *  testFileName,
IOR_param_t param 
)
static

Definition at line 122 of file aiori-IME.c.

References ERR, IOR_APPEND, IOR_CREAT, IOR_EXCL, IOR_RDONLY, IOR_RDWR, IOR_TRUNC, IOR_WRONLY, NULL, O_BINARY, IOR_param_t::openFlags, set_o_direct_flag(), and IOR_param_t::useO_DIRECT.

Referenced by IME_Create().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IME_RmDir()

static int IME_RmDir ( const char *  oid,
IOR_param_t param 
)
static

Definition at line 301 of file aiori-IME.c.

References WARN.

◆ IME_Stat()

static int IME_Stat ( const char *  path,
struct stat *  buf,
IOR_param_t param 
)
static

Definition at line 313 of file aiori-IME.c.

◆ IME_StatFS()

static int IME_StatFS ( const char *  oid,
ior_aiori_statfs_t stat_buf,
IOR_param_t param 
)
static

Definition at line 274 of file aiori-IME.c.

References WARN.

◆ IME_Xfer()

static IOR_offset_t IME_Xfer ( int  access,
void *  file,
IOR_size_t buffer,
IOR_offset_t  length,
IOR_param_t param 
)
static

Definition at line 161 of file aiori-IME.c.

References ERR, IOR_param_t::fsyncPerWrite, IME_Fsync(), MAX_RETRY, MPI_CHECK, IOR_param_t::offset, rank, rc, IOR_param_t::singleXferAttempt, verbose, VERBOSE_4, and WRITE.

Here is the call graph for this function:

Variable Documentation

◆ ime_aiori

ior_aiori_t ime_aiori
Initial value:
= {
.name = "IME",
.create = IME_Create,
.open = IME_Open,
.xfer = IME_Xfer,
.close = IME_Close,
.delete = IME_Delete,
.get_version = IME_GetVersion,
.fsync = IME_Fsync,
.get_file_size = IME_GetFileSize,
.access = IME_Access,
.statfs = IME_StatFS,
.rmdir = IME_RmDir,
.mkdir = IME_MkDir,
.stat = IME_Stat,
.initialize = IME_Initialize,
.finalize = IME_Finalize,
}
static void * IME_Create(char *, IOR_param_t *)
Definition: aiori-IME.c:114
static void * IME_Open(char *, IOR_param_t *)
Definition: aiori-IME.c:122
static void IME_Initialize()
Definition: aiori-IME.c:88
static void IME_Fsync(void *, IOR_param_t *)
Definition: aiori-IME.c:225
static int IME_RmDir(const char *, IOR_param_t *)
Definition: aiori-IME.c:301
static void IME_Finalize()
Definition: aiori-IME.c:96
static int IME_Stat(const char *, struct stat *, IOR_param_t *)
Definition: aiori-IME.c:313
static IOR_offset_t IME_Xfer(int, void *, IOR_size_t *, IOR_offset_t, IOR_param_t *)
Definition: aiori-IME.c:161
static int IME_Access(const char *, int, IOR_param_t *)
Definition: aiori-IME.c:104
static void IME_Close(void *, IOR_param_t *)
Definition: aiori-IME.c:234
static IOR_offset_t IME_GetFileSize(IOR_param_t *, MPI_Comm, char *)
Definition: aiori-IME.c:323
static void IME_Delete(char *, IOR_param_t *)
Definition: aiori-IME.c:248
static int IME_MkDir(const char *, mode_t, IOR_param_t *)
Definition: aiori-IME.c:288
static char * IME_GetVersion()
Definition: aiori-IME.c:260
static int IME_StatFS(const char *, ior_aiori_statfs_t *, IOR_param_t *)
Definition: aiori-IME.c:274

Definition at line 64 of file aiori-IME.c.

◆ rank

int rank

◆ rankOffset

int rankOffset

◆ testComm

MPI_Comm testComm

◆ verbose

int verbose