IOR
|
#include <sys/stat.h>
#include <stdbool.h>
#include "iordef.h"
#include "aiori-debug.h"
#include "option.h"
Go to the source code of this file.
Data Structures | |
struct | ior_aiori_statfs |
struct | aiori_xfer_hint_t |
struct | aiori_mod_opt_t |
struct | aiori_fd_t |
struct | ior_aiori |
Macros | |
#define | IOR_RDONLY 0x01 /* read only */ |
#define | IOR_WRONLY 0x02 /* write only */ |
#define | IOR_RDWR 0x04 /* read/write */ |
#define | IOR_APPEND 0x08 /* append */ |
#define | IOR_CREAT 0x10 /* create */ |
#define | IOR_TRUNC 0x20 /* truncate */ |
#define | IOR_EXCL 0x40 /* exclusive */ |
#define | IOR_DIRECT 0x80 /* bypass I/O buffers */ |
#define | IOR_IRWXU 0x0001 /* read, write, execute perm: owner */ |
#define | IOR_IRUSR 0x0002 /* read permission: owner */ |
#define | IOR_IWUSR 0x0004 /* write permission: owner */ |
#define | IOR_IXUSR 0x0008 /* execute permission: owner */ |
#define | IOR_IRWXG 0x0010 /* read, write, execute perm: group */ |
#define | IOR_IRGRP 0x0020 /* read permission: group */ |
#define | IOR_IWGRP 0x0040 /* write permission: group */ |
#define | IOR_IXGRP 0x0080 /* execute permission: group */ |
#define | IOR_IRWXO 0x0100 /* read, write, execute perm: other */ |
#define | IOR_IROTH 0x0200 /* read permission: other */ |
#define | IOR_IWOTH 0x0400 /* write permission: other */ |
#define | IOR_IXOTH 0x0800 /* execute permission: other */ |
Typedefs | |
typedef struct ior_aiori_statfs | ior_aiori_statfs_t |
typedef struct aiori_xfer_hint_t | aiori_xfer_hint_t |
typedef struct aiori_fd_t | aiori_fd_t |
typedef struct ior_aiori | ior_aiori_t |
Enumerations | |
enum | bench_type { IOR, MDTEST } |
Functions | |
const ior_aiori_t * | aiori_select (const char *api) |
int | aiori_count (void) |
void | aiori_supported_apis (char *APIs, char *APIs_legacy, enum bench_type type) |
options_all_t * | airoi_create_all_module_options (option_help *global_options) |
void * | airoi_update_module_options (const ior_aiori_t *backend, options_all_t *module_defaults) |
const char * | aiori_default (void) |
char * | aiori_get_version (void) |
int | aiori_posix_statfs (const char *path, ior_aiori_statfs_t *stat_buf, aiori_mod_opt_t *module_options) |
int | aiori_posix_mkdir (const char *path, mode_t mode, aiori_mod_opt_t *module_options) |
int | aiori_posix_rmdir (const char *path, aiori_mod_opt_t *module_options) |
int | aiori_posix_access (const char *path, int mode, aiori_mod_opt_t *module_options) |
int | aiori_posix_stat (const char *path, struct stat *buf, aiori_mod_opt_t *module_options) |
void | MPIIO_Delete (char *testFileName, aiori_mod_opt_t *module_options) |
IOR_offset_t | MPIIO_GetFileSize (aiori_mod_opt_t *options, char *testFileName) |
int | MPIIO_Access (const char *, int, aiori_mod_opt_t *module_options) |
void | MPIIO_xfer_hints (aiori_xfer_hint_t *params) |
#define IOR_APPEND 0x08 /* append */ |
Definition at line 31 of file aiori.h.
Referenced by CEPHFS_Open(), GetFileMode(), HDF5_Open(), HDFS_Create_Or_Open(), IME_Open(), and MPIIO_Open().
#define IOR_CREAT 0x10 /* create */ |
Definition at line 32 of file aiori.h.
Referenced by CEPHFS_Open(), collective_helper(), create_file(), GetFileMode(), HDF5_Open(), HDF5_Xfer(), HDFS_Open(), IME_Open(), MPIIO_Open(), RADOS_Open(), run_benchmark(), run_precreate(), S3_Create(), S3_Create_Or_Open_internal(), S3_Open(), SetupDataSet(), and TestIoSys().
#define IOR_DIRECT 0x80 /* bypass I/O buffers */ |
Definition at line 35 of file aiori.h.
Referenced by CEPHFS_Open(), GetFileMode(), HDF5_Open(), and MPIIO_Open().
#define IOR_EXCL 0x40 /* exclusive */ |
Definition at line 34 of file aiori.h.
Referenced by CEPHFS_Open(), GetFileMode(), HDF5_Open(), HDFS_Create_Or_Open(), IME_Open(), MPIIO_Open(), and RADOS_Create_Or_Open().
#define IOR_IRWXG 0x0010 /* read, write, execute perm: group */ |
#define IOR_IRWXO 0x0100 /* read, write, execute perm: other */ |
#define IOR_IRWXU 0x0001 /* read, write, execute perm: owner */ |
#define IOR_RDONLY 0x01 /* read only */ |
Definition at line 28 of file aiori.h.
Referenced by CEPHFS_Open(), GetFileMode(), HDF5_Open(), IME_Open(), MPIIO_Open(), run_benchmark(), and TestIoSys().
#define IOR_RDWR 0x04 /* read/write */ |
Definition at line 30 of file aiori.h.
Referenced by CEPHFS_Open(), GetFileMode(), HDF5_Open(), HDF5_Xfer(), HDFS_Create_Or_Open(), IME_Open(), ior_mmap_file(), MPIIO_Open(), S3_Create_Or_Open_internal(), and S3_Open().
#define IOR_TRUNC 0x20 /* truncate */ |
Definition at line 33 of file aiori.h.
Referenced by CEPHFS_Open(), GetFileMode(), HDF5_Open(), IME_Open(), MPIIO_Open(), S3_Create_Or_Open_internal(), and TestIoSys().
#define IOR_WRONLY 0x02 /* write only */ |
Definition at line 29 of file aiori.h.
Referenced by CEPHFS_Open(), collective_helper(), create_file(), GetFileMode(), HDF5_Open(), HDFS_Create_Or_Open(), IME_Open(), ior_mmap_file(), MPIIO_Open(), run_benchmark(), run_precreate(), S3_Create_Or_Open_internal(), S3_Open(), and TestIoSys().
typedef struct aiori_fd_t aiori_fd_t |
typedef struct aiori_xfer_hint_t aiori_xfer_hint_t |
typedef struct ior_aiori_statfs ior_aiori_statfs_t |
typedef struct ior_aiori ior_aiori_t |
enum bench_type |
int aiori_count | ( | void | ) |
Definition at line 291 of file aiori.c.
References available_aiori.
Referenced by aiori_default(), and airoi_create_all_module_options().
const char* aiori_default | ( | void | ) |
Definition at line 296 of file aiori.c.
References aiori_count(), ior_aiori::name, and NULL.
Referenced by init_IOR_Param_t().
int aiori_posix_access | ( | const char * | path, |
int | mode, | ||
aiori_mod_opt_t * | module_options | ||
) |
Definition at line 222 of file aiori.c.
Referenced by aiori_select().
int aiori_posix_mkdir | ( | const char * | path, |
mode_t | mode, | ||
aiori_mod_opt_t * | module_options | ||
) |
Definition at line 212 of file aiori.c.
Referenced by aiori_select().
int aiori_posix_rmdir | ( | const char * | path, |
aiori_mod_opt_t * | module_options | ||
) |
Definition at line 217 of file aiori.c.
Referenced by aiori_select().
int aiori_posix_stat | ( | const char * | path, |
struct stat * | buf, | ||
aiori_mod_opt_t * | module_options | ||
) |
Definition at line 227 of file aiori.c.
Referenced by aiori_select().
int aiori_posix_statfs | ( | const char * | path, |
ior_aiori_statfs_t * | stat_buf, | ||
aiori_mod_opt_t * | module_options | ||
) |
Default statfs implementation.
[in] | path | Path to run statfs on |
[out] | statfs_buf | AIORI statfs buffer |
This function provides a AIORI statfs for POSIX-compliant filesystems. It uses statvfs is available and falls back on statfs.
Definition at line 166 of file aiori.c.
References ior_aiori_statfs::f_bfree, ior_aiori_statfs::f_blocks, ior_aiori_statfs::f_bsize, ior_aiori_statfs::f_ffree, ior_aiori_statfs::f_files, FALSE, and TRUE.
Referenced by aiori_select().
const ior_aiori_t* aiori_select | ( | const char * | api | ) |
Definition at line 237 of file aiori.c.
References aiori_posix_access(), aiori_posix_mkdir(), aiori_posix_rmdir(), aiori_posix_stat(), aiori_posix_statfs(), ior_aiori::name_legacy, NULL, and WARN.
Referenced by DecodeDirective(), md_workbench_run(), mdtest_run(), and updateParsedOptions().
void aiori_supported_apis | ( | char * | APIs, |
char * | APIs_legacy, | ||
enum bench_type | type | ||
) |
Definition at line 127 of file aiori.c.
References available_aiori, MDTEST, and NULL.
Referenced by createGlobalOptions(), and mdtest_run().
options_all_t* airoi_create_all_module_options | ( | option_help * | global_options | ) |
Definition at line 107 of file aiori.c.
References aiori_count(), available_aiori, option_module::defaults, global_options, options_all_t::module_count, options_all_t::modules, NULL, option_module::options, out_logfile, and option_module::prefix.
Referenced by md_workbench_run(), mdtest_run(), and ParseCommandLine().
void* airoi_update_module_options | ( | const ior_aiori_t * | backend, |
options_all_t * | module_defaults | ||
) |
Definition at line 93 of file aiori.c.
References available_aiori, option_module::defaults, ior_aiori::get_options, options_all_t::modules, ior_aiori::name, NULL, option_module::options, and option_module::prefix.
Referenced by md_workbench_run(), mdtest_run(), ReadConfigScript(), and updateParsedOptions().
int MPIIO_Access | ( | const char * | , |
int | , | ||
aiori_mod_opt_t * | module_options | ||
) |
Definition at line 139 of file aiori-MPIIO.c.
References aiori_xfer_hint_t::dryRun, mpiio_options_t::hintsFileName, MPI_CHECK, and SetHints().
Referenced by HDF5_Access(), and NCMPI_Access().
void MPIIO_Delete | ( | char * | testFileName, |
aiori_mod_opt_t * | module_options | ||
) |
Definition at line 521 of file aiori-MPIIO.c.
References aiori_xfer_hint_t::dryRun, and MPI_CHECKF.
Referenced by HDF5_Delete(), and NCMPI_Delete().
IOR_offset_t MPIIO_GetFileSize | ( | aiori_mod_opt_t * | options, |
char * | testFileName | ||
) |
Definition at line 588 of file aiori-MPIIO.c.
References aiori_xfer_hint_t::dryRun, aiori_xfer_hint_t::filePerProc, mpiio_options_t::hintsFileName, MPI_CHECK, SetHints(), testComm, and TRUE.
Referenced by HDF5_GetFileSize(), and NCMPI_GetFileSize().
void MPIIO_xfer_hints | ( | aiori_xfer_hint_t * | params | ) |
Definition at line 111 of file aiori-MPIIO.c.
Referenced by HDF5_init_xfer_options(), and NCMPI_xfer_hints().
ior_aiori_t aio_aiori |
Definition at line 234 of file aiori-aio.c.
ior_aiori_t cephfs_aiori |
Definition at line 83 of file aiori-CEPHFS.c.
ior_aiori_t daos_aiori |
ior_aiori_t dfs_aiori |
Definition at line 133 of file aiori-DFS.c.
ior_aiori_t dummy_aiori |
Definition at line 182 of file aiori-DUMMY.c.
ior_aiori_t gfarm_aiori |
Definition at line 297 of file aiori-Gfarm.c.
ior_aiori_t hdf5_aiori |
Definition at line 141 of file aiori-HDF5.c.
ior_aiori_t hdfs_aiori |
Definition at line 123 of file aiori-HDFS.c.
ior_aiori_t ime_aiori |
Definition at line 102 of file aiori-IME.c.
ior_aiori_t mmap_aiori |
Definition at line 41 of file aiori-MMAP.c.
ior_aiori_t mpiio_aiori |
Definition at line 87 of file aiori-MPIIO.c.
ior_aiori_t ncmpi_aiori |
Definition at line 100 of file aiori-NCMPI.c.
ior_aiori_t pmdk_aiori |
Definition at line 53 of file aiori-PMDK.c.
ior_aiori_t posix_aiori |
Definition at line 160 of file aiori-POSIX.c.
ior_aiori_t rados_aiori |
Definition at line 68 of file aiori-RADOS.c.
ior_aiori_t s3_4c_aiori |
Definition at line 178 of file aiori-S3-4c.c.
ior_aiori_t s3_emc_aiori |
Definition at line 217 of file aiori-S3-4c.c.
ior_aiori_t S3_libS3_aiori |
Definition at line 531 of file aiori-S3-libs3.c.
ior_aiori_t s3_plus_aiori |
Definition at line 200 of file aiori-S3-4c.c.