|
IOR
|
#include <string.h>#include <assert.h>#include <errno.h>#include <stdio.h>#include <dirent.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <fcntl.h>#include <libgen.h>#include <mpi.h>#include <gurt/common.h>#include <gurt/hash.h>#include <daos.h>#include <daos_fs.h>#include "aiori.h"#include "utilities.h"#include "iordef.h"
Go to the source code of this file.
Data Structures | |
| struct | aiori_dir_hdl |
| struct | DFS_options_t |
Macros | |
| #define | _BSD_SOURCE |
| #define | CHECK_DAOS_API_VERSION(major, minor) 0 |
| #define | DCHECK(rc, format, ...) |
| #define | INFO(level, format, ...) |
| #define | DERR(format, ...) |
Enumerations | |
| enum | handleType { POOL_HANDLE, CONT_HANDLE, DFS_HANDLE } |
Functions | |
| static option_help * | DFS_options (aiori_mod_opt_t **init_backend_options, aiori_mod_opt_t *init_values) |
| static void | DFS_Init (aiori_mod_opt_t *) |
| static void | DFS_Finalize (aiori_mod_opt_t *) |
| static aiori_fd_t * | DFS_Create (char *, int, aiori_mod_opt_t *) |
| static aiori_fd_t * | DFS_Open (char *, int, aiori_mod_opt_t *) |
| static IOR_offset_t | DFS_Xfer (int, aiori_fd_t *, IOR_size_t *, IOR_offset_t, IOR_offset_t, aiori_mod_opt_t *) |
| static void | DFS_Close (aiori_fd_t *, aiori_mod_opt_t *) |
| static void | DFS_Delete (char *, aiori_mod_opt_t *) |
| static char * | DFS_GetVersion () |
| static void | DFS_Fsync (aiori_fd_t *, aiori_mod_opt_t *) |
| static void | DFS_Sync (aiori_mod_opt_t *) |
| static IOR_offset_t | DFS_GetFileSize (aiori_mod_opt_t *, char *) |
| static int | DFS_Statfs (const char *, ior_aiori_statfs_t *, aiori_mod_opt_t *) |
| static int | DFS_Stat (const char *, struct stat *, aiori_mod_opt_t *) |
| static int | DFS_Mkdir (const char *, mode_t, aiori_mod_opt_t *) |
| static int | DFS_Rename (const char *, const char *, aiori_mod_opt_t *) |
| static int | DFS_Rmdir (const char *, aiori_mod_opt_t *) |
| static int | DFS_Access (const char *, int, aiori_mod_opt_t *) |
| static option_help * | DFS_options () |
| static void | DFS_init_xfer_options (aiori_xfer_hint_t *) |
| static int | DFS_check_params (aiori_mod_opt_t *) |
| static struct aiori_dir_hdl * | hdl_obj (d_list_t *rlink) |
| static bool | key_cmp (struct d_hash_table *htable, d_list_t *rlink, const void *key, unsigned int ksize) |
| static void | rec_free (struct d_hash_table *htable, d_list_t *rlink) |
| static bool | rec_decref (struct d_hash_table *htable, d_list_t *rlink) |
| static uint32_t | rec_hash (struct d_hash_table *htable, d_list_t *rlink) |
| static int | HandleDistribute (enum handleType type) |
| static int | parse_filename (const char *path, char **_obj_name, char **_cont_name) |
| static int | share_file_handle (dfs_obj_t **file, MPI_Comm comm) |
| static dfs_obj_t * | lookup_insert_dir (const char *name, mode_t *mode) |
Variables | |
| static dfs_t * | dfs |
| static daos_handle_t | poh |
| static daos_handle_t | coh |
| static daos_oclass_id_t | objectClass |
| static daos_oclass_id_t | dir_oclass |
| static struct d_hash_table * | aiori_dfs_hash = NULL |
| static int | dfs_init_count |
| ior_aiori_t | dfs_aiori |
| static aiori_xfer_hint_t * | hints = NULL |
| static d_hash_table_ops_t | hdl_hash_ops |
| #define _BSD_SOURCE |
Definition at line 13 of file aiori-DFS.c.
| #define CHECK_DAOS_API_VERSION | ( | major, | |
| minor | |||
| ) | 0 |
Definition at line 45 of file aiori-DFS.c.
| #define DCHECK | ( | rc, | |
| format, | |||
| ... | |||
| ) |
Definition at line 162 of file aiori-DFS.c.
Referenced by DFS_Access(), DFS_Create(), DFS_Delete(), DFS_Finalize(), DFS_Init(), DFS_Mkdir(), DFS_Open(), DFS_Rename(), DFS_Rmdir(), DFS_Stat(), DFS_Statfs(), HandleDistribute(), and share_file_handle().
| #define DERR | ( | format, | |
| ... | |||
| ) |
Definition at line 181 of file aiori-DFS.c.
Referenced by DFS_Access(), DFS_Create(), DFS_Delete(), DFS_Init(), DFS_Mkdir(), DFS_Open(), DFS_Rename(), DFS_Rmdir(), and DFS_Stat().
| #define INFO | ( | level, | |
| format, | |||
| ... | |||
| ) |
Definition at line 175 of file aiori-DFS.c.
Referenced by DFS_Finalize(), and DFS_Init().
| enum handleType |
| Enumerator | |
|---|---|
| POOL_HANDLE | |
| CONT_HANDLE | |
| DFS_HANDLE | |
Definition at line 61 of file aiori-DFS.c.
|
static |
Definition at line 1062 of file aiori-DFS.c.
References DCHECK, DERR, dfs, lookup_insert_dir(), aiori_dir_hdl::name, NULL, parse_filename(), and rc.
Referenced by DFS_options().


|
static |
Definition at line 196 of file aiori-DFS.c.
References DFS_options_t::cont, ERR, NULL, o, DFS_options_t::pool, and testComm.
Referenced by DFS_options().

|
static |
Definition at line 855 of file aiori-DFS.c.
Referenced by DFS_options().

|
static |
Definition at line 684 of file aiori-DFS.c.
References DFS_options_t::chunk_size, DCHECK, DERR, dfs, aiori_xfer_hint_t::filePerProc, lookup_insert_dir(), aiori_dir_hdl::name, NULL, o, objectClass, parse_filename(), rank, rc, share_file_handle(), and testComm.
Referenced by DFS_options().


|
static |
Definition at line 864 of file aiori-DFS.c.
References DCHECK, DERR, dfs, lookup_insert_dir(), aiori_dir_hdl::name, NULL, parse_filename(), and rc.
Referenced by DFS_options().


|
static |
reset tunables
Definition at line 599 of file aiori-DFS.c.
References aiori_dfs_hash, DFS_options_t::chunk_size, coh, DFS_options_t::cont, DCHECK, DFS_options_t::destroy, dfs, dfs_init_count, dir_oclass, DFS_options_t::dir_oclass, DFS_options_t::group, INFO, MPI_CHECK, NULL, o, objectClass, DFS_options_t::oclass, poh, DFS_options_t::pool, DFS_options_t::prefix, rank, rc, testComm, and VERBOSE_1.
Referenced by DFS_options().

|
static |
Definition at line 833 of file aiori-DFS.c.
References dfs.
Referenced by DFS_options().

|
static |
Definition at line 901 of file aiori-DFS.c.
References dfs, aiori_xfer_hint_t::filePerProc, NULL, rank, rc, testComm, and TRUE.
Referenced by DFS_options().

|
static |
Definition at line 889 of file aiori-DFS.c.
Referenced by DFS_options().

|
static |
chunk size and oclass can change between different runs
shouldn't be fatal since it can be called with POSIX backend selection
Definition at line 461 of file aiori-DFS.c.
References aiori_dfs_hash, coh, DFS_options_t::cont, CONT_HANDLE, DCHECK, DERR, dfs, DFS_HANDLE, dfs_init_count, dir_oclass, DFS_options_t::dir_oclass, ERR, DFS_options_t::group, HandleDistribute(), hdl_hash_ops, INFO, NULL, o, objectClass, DFS_options_t::oclass, poh, DFS_options_t::pool, POOL_HANDLE, DFS_options_t::prefix, rank, rc, and VERBOSE_1.
Referenced by DFS_options().


|
static |
Definition at line 191 of file aiori-DFS.c.
Referenced by DFS_options().

|
static |
Definition at line 961 of file aiori-DFS.c.
References DCHECK, DERR, dfs, dir_oclass, lookup_insert_dir(), aiori_dir_hdl::name, NULL, parse_filename(), and rc.
Referenced by DFS_options().


|
static |
Definition at line 728 of file aiori-DFS.c.
References DFS_options_t::chunk_size, DCHECK, DERR, dfs, aiori_xfer_hint_t::filePerProc, lookup_insert_dir(), aiori_dir_hdl::name, NULL, o, objectClass, parse_filename(), rank, rc, share_file_handle(), and testComm.
Referenced by DFS_options().


|
static |
Definition at line 79 of file aiori-DFS.c.
References DFS_options_t::chunk_size, DFS_options_t::cont, DFS_options_t::destroy, DFS_Access(), DFS_check_params(), DFS_Close(), DFS_Create(), DFS_Delete(), DFS_Finalize(), DFS_Fsync(), DFS_GetFileSize(), DFS_GetVersion(), DFS_Init(), DFS_init_xfer_options(), DFS_Mkdir(), DFS_Open(), DFS_Rename(), DFS_Rmdir(), DFS_Stat(), DFS_Statfs(), DFS_Sync(), DFS_Xfer(), DFS_options_t::dir_oclass, DFS_options_t::group, LAST_OPTION, NULL, o, DFS_options_t::oclass, OPTION_FLAG, OPTION_OPTIONAL_ARGUMENT, DFS_options_t::pool, and DFS_options_t::prefix.

|
static |
|
static |
Definition at line 991 of file aiori-DFS.c.
References DCHECK, DERR, dfs, lookup_insert_dir(), NULL, parse_filename(), and rc.
Referenced by DFS_options().


|
static |
Definition at line 1033 of file aiori-DFS.c.
References DCHECK, DERR, dfs, lookup_insert_dir(), aiori_dir_hdl::name, NULL, parse_filename(), and rc.
Referenced by DFS_options().


|
static |
Definition at line 1097 of file aiori-DFS.c.
References DCHECK, DERR, dfs, lookup_insert_dir(), aiori_dir_hdl::name, NULL, parse_filename(), and rc.
Referenced by DFS_options().


|
static |
Definition at line 937 of file aiori-DFS.c.
References DCHECK, ior_aiori_statfs::f_bavail, 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, NULL, poh, and rc.
Referenced by DFS_options().

|
static |
Definition at line 844 of file aiori-DFS.c.
References dfs.
Referenced by DFS_options().

|
static |
set memory location
Definition at line 773 of file aiori-DFS.c.
References dfs, ERR, ERRF, MAX_RETRY, NULL, rc, aiori_xfer_hint_t::singleXferAttempt, TRUE, and WRITE.
Referenced by DFS_options().

|
static |
Definition at line 255 of file aiori-DFS.c.
References coh, CONT_HANDLE, DCHECK, dfs, DFS_HANDLE, ERR, MPI_CHECK, NULL, poh, POOL_HANDLE, rank, rc, and testComm.
Referenced by DFS_Init().

|
static |
Definition at line 209 of file aiori-DFS.c.
References aiori_dir_hdl::entry.
Referenced by key_cmp(), lookup_insert_dir(), rec_free(), and rec_hash().

|
static |
Definition at line 215 of file aiori-DFS.c.
References hdl_obj(), and aiori_dir_hdl::name.

|
static |
Definition at line 421 of file aiori-DFS.c.
References aiori_dfs_hash, dfs, aiori_dir_hdl::entry, hdl_obj(), aiori_dir_hdl::name, NULL, aiori_dir_hdl::oh, and rc.
Referenced by DFS_Access(), DFS_Create(), DFS_Delete(), DFS_Mkdir(), DFS_Open(), DFS_Rename(), DFS_Rmdir(), and DFS_Stat().


|
static |
Definition at line 314 of file aiori-DFS.c.
References errno, NULL, PATH_MAX, and rc.
Referenced by DFS_Access(), DFS_Create(), DFS_Delete(), DFS_Mkdir(), DFS_Open(), DFS_Rename(), DFS_Rmdir(), and DFS_Stat().

|
static |
Definition at line 233 of file aiori-DFS.c.
|
static |
Definition at line 224 of file aiori-DFS.c.
References hdl_obj(), and aiori_dir_hdl::oh.

|
static |
Definition at line 239 of file aiori-DFS.c.
References hdl_obj(), and aiori_dir_hdl::name.

|
static |
Definition at line 379 of file aiori-DFS.c.
References DCHECK, dfs, ERR, MPI_CHECK, NULL, rank, rc, and testComm.
Referenced by DFS_Create(), and DFS_Open().

|
static |
Definition at line 52 of file aiori-DFS.c.
Referenced by DFS_Finalize(), DFS_Init(), and lookup_insert_dir().
|
static |
Definition at line 49 of file aiori-DFS.c.
Referenced by DFS_Finalize(), DFS_Init(), and HandleDistribute().
|
static |
Definition at line 48 of file aiori-DFS.c.
Referenced by DFS_Access(), DFS_Create(), DFS_Delete(), DFS_Finalize(), DFS_Fsync(), DFS_GetFileSize(), DFS_Init(), DFS_Mkdir(), DFS_Open(), DFS_Rename(), DFS_Rmdir(), DFS_Stat(), DFS_Sync(), DFS_Xfer(), HandleDistribute(), lookup_insert_dir(), and share_file_handle().
| ior_aiori_t dfs_aiori |
Definition at line 134 of file aiori-DFS.c.
|
static |
Definition at line 53 of file aiori-DFS.c.
Referenced by DFS_Finalize(), and DFS_Init().
|
static |
Definition at line 51 of file aiori-DFS.c.
Referenced by DFS_Finalize(), DFS_Init(), and DFS_Mkdir().
|
static |
Definition at line 246 of file aiori-DFS.c.
Referenced by DFS_Init().
|
static |
Definition at line 189 of file aiori-DFS.c.
|
static |
Definition at line 50 of file aiori-DFS.c.
Referenced by DFS_Create(), DFS_Finalize(), DFS_Init(), and DFS_Open().
|
static |
Definition at line 49 of file aiori-DFS.c.
Referenced by DFS_Finalize(), DFS_Init(), DFS_Statfs(), and HandleDistribute().
1.8.13