|
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 |
| struct | mpiio_options_t |
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_Create(), CEPHFS_Open(), collective_helper(), create_file(), GetFileMode(), HDF5_Open(), HDF5_Xfer(), HDFS_Open(), IME_Open(), MPIIO_Open(), RADOS_Create_Or_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(), POSIX_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(), POSIX_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 294 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 299 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 225 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 215 of file aiori.c.
Referenced by aiori_select(), and HDF5_MkDir().

| int aiori_posix_rmdir | ( | const char * | path, |
| aiori_mod_opt_t * | module_options | ||
| ) |
Definition at line 220 of file aiori.c.
Referenced by aiori_select(), and HDF5_RmDir().

| int aiori_posix_stat | ( | const char * | path, |
| struct stat * | buf, | ||
| aiori_mod_opt_t * | module_options | ||
| ) |
Definition at line 230 of file aiori.c.
Referenced by aiori_select(), and HDF5_Stat().

| 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 169 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(), and HDF5_StatFS().

| const ior_aiori_t* aiori_select | ( | const char * | api | ) |
Definition at line 240 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 130 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 110 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 96 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 130 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 512 of file aiori-MPIIO.c.
References aiori_xfer_hint_t::dryRun, and MPI_CHECKF.
Referenced by HDF5_Delete().

| IOR_offset_t MPIIO_GetFileSize | ( | aiori_mod_opt_t * | options, |
| char * | testFileName | ||
| ) |
Definition at line 579 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 102 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 93 of file aiori-CEPHFS.c.
| ior_aiori_t chfs_aiori |
Definition at line 229 of file aiori-CHFS.c.
| ior_aiori_t daos_aiori |
| ior_aiori_t dfs_aiori |
Definition at line 134 of file aiori-DFS.c.
| ior_aiori_t dummy_aiori |
Definition at line 201 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 153 of file aiori-HDF5.c.
| ior_aiori_t hdfs_aiori |
Definition at line 127 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 78 of file aiori-MPIIO.c.
| ior_aiori_t ncmpi_aiori |
Definition at line 103 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 171 of file aiori-POSIX.c.
| ior_aiori_t rados_aiori |
Definition at line 90 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 593 of file aiori-S3-libs3.c.
| ior_aiori_t s3_plus_aiori |
Definition at line 200 of file aiori-S3-4c.c.
1.8.13