IOR
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <assert.h>
#include "ior.h"
#include "aiori.h"
#include "iordef.h"
#include <curl/curl.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#include "aws4c.h"
#include "aws4c_extra.h"
Go to the source code of this file.
Macros | |
#define | BUFF_SIZE 1024 |
#define | IOR_CURL_INIT 0x01 /* curl top-level inits were perfomed once? */ |
#define | IOR_CURL_NOCONTINUE 0x02 |
#define | IOR_CURL_S3_EMC_EXT 0x04 /* allow EMC extensions to S3? */ |
#define | CURL_ERR(MSG, CURL_ERRNO, PARAM) |
#define | CURL_WARN(MSG, CURL_ERRNO) |
Typedefs | |
typedef void | CURL |
typedef void | IOBuf |
Functions | |
static void * | S3_Create (char *, IOR_param_t *) |
static void * | S3_Open (char *, IOR_param_t *) |
static IOR_offset_t | S3_Xfer (int, void *, IOR_size_t *, IOR_offset_t, IOR_param_t *) |
static void | S3_Close (void *, IOR_param_t *) |
static void * | EMC_Create (char *, IOR_param_t *) |
static void * | EMC_Open (char *, IOR_param_t *) |
static IOR_offset_t | EMC_Xfer (int, void *, IOR_size_t *, IOR_offset_t, IOR_param_t *) |
static void | EMC_Close (void *, IOR_param_t *) |
static void | S3_Delete (char *, IOR_param_t *) |
static void | S3_Fsync (void *, IOR_param_t *) |
static IOR_offset_t | S3_GetFileSize (IOR_param_t *, MPI_Comm, char *) |
static void | S3_init () |
static void | S3_finalize () |
static int | S3_check_params (IOR_param_t *) |
static void | s3_connect (IOR_param_t *param) |
static void | s3_disconnect (IOR_param_t *param) |
void | s3_MPU_reset (IOR_param_t *param) |
static void * | S3_Create_Or_Open_internal (char *testFileName, IOR_param_t *param, unsigned char createFile, int multi_part_upload_p) |
static IOR_offset_t | S3_Xfer_internal (int access, void *file, IOR_size_t *buffer, IOR_offset_t length, IOR_param_t *param, int multi_part_upload_p) |
static void | S3_Close_internal (void *fd, IOR_param_t *param, int multi_part_upload_p) |
static void | EMC_Delete (char *testFileName, IOR_param_t *param) |
Variables | |
static char | buff [BUFF_SIZE] |
const int | ETAG_SIZE = 32 |
CURLcode | rc |
const char * | bucket_name = "ior" |
IOBuf * | io_buf |
IOBuf * | etags |
ior_aiori_t | s3_aiori |
ior_aiori_t | s3_plus_aiori |
ior_aiori_t | s3_emc_aiori |
#define BUFF_SIZE 1024 |
Definition at line 116 of file aiori-S3.c.
Referenced by S3_Close_internal(), s3_connect(), S3_Create_Or_Open_internal(), and S3_Xfer_internal().
#define CURL_ERR | ( | MSG, | |
CURL_ERRNO, | |||
PARAM | |||
) |
Definition at line 251 of file aiori-S3.c.
#define CURL_WARN | ( | MSG, | |
CURL_ERRNO | |||
) |
Definition at line 261 of file aiori-S3.c.
#define IOR_CURL_INIT 0x01 /* curl top-level inits were perfomed once? */ |
Definition at line 129 of file aiori-S3.c.
Referenced by s3_connect().
#define IOR_CURL_NOCONTINUE 0x02 |
Definition at line 130 of file aiori-S3.c.
#define IOR_CURL_S3_EMC_EXT 0x04 /* allow EMC extensions to S3? */ |
Definition at line 131 of file aiori-S3.c.
Referenced by s3_connect().
typedef void CURL |
Definition at line 137 of file aiori-S3.c.
typedef void IOBuf |
Definition at line 138 of file aiori-S3.c.
|
static |
Definition at line 1336 of file aiori-S3.c.
References FALSE, and S3_Close_internal().
|
static |
Definition at line 602 of file aiori-S3.c.
References FALSE, S3_Create_Or_Open_internal(), TRUE, IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 1383 of file aiori-S3.c.
References s3_connect(), IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 640 of file aiori-S3.c.
References FALSE, IOR_CREAT, IOR_param_t::openFlags, S3_Create_Or_Open_internal(), TRUE, IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 951 of file aiori-S3.c.
References FALSE, and S3_Xfer_internal().
|
static |
Definition at line 234 of file aiori-S3.c.
References IOR_param_t::blockSize, ERR, IOR_param_t::filePerProc, IOR_param_t::segmentCount, and IOR_param_t::transferSize.
|
static |
Definition at line 1330 of file aiori-S3.c.
References S3_Close_internal(), and TRUE.
|
static |
Definition at line 1035 of file aiori-S3.c.
References buff, BUFF_SIZE, ERR_SIMPLE, ETAG_SIZE, IOR_param_t::filePerProc, MPI_CHECK, NULL, IOR_param_t::numTasks, IOR_param_t::open, rank, s3_MPU_reset(), IOR_param_t::segmentCount, IOR_param_t::testComm, IOR_param_t::UploadId, IOR_param_t::verbose, VERBOSE_2, VERBOSE_3, VERBOSE_4, and WRITE.
Referenced by EMC_Close(), and S3_Close().
|
static |
Definition at line 295 of file aiori-S3.c.
References bucket_name, buff, BUFF_SIZE, IOR_CURL_INIT, IOR_CURL_S3_EMC_EXT, MPI_CHECK, rank, IOR_param_t::testComm, IOR_param_t::verbose, and VERBOSE_2.
Referenced by EMC_Delete(), S3_Create_Or_Open_internal(), S3_Delete(), and S3_GetFileSize().
|
static |
Definition at line 590 of file aiori-S3.c.
References S3_Create_Or_Open_internal(), TRUE, IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 458 of file aiori-S3.c.
References buff, BUFF_SIZE, ERR_SIMPLE, IOR_param_t::filePerProc, IOR_EXCL, IOR_TRUNC, NULL, IOR_param_t::open, IOR_param_t::openFlags, rank, s3_connect(), IOR_param_t::testComm, TRUE, IOR_param_t::UploadId, verbose, IOR_param_t::verbose, VERBOSE_2, VERBOSE_3, and WRITE.
Referenced by EMC_Create(), EMC_Open(), S3_Create(), and S3_Open().
|
static |
Definition at line 1354 of file aiori-S3.c.
References s3_connect(), IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 402 of file aiori-S3.c.
References IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 228 of file aiori-S3.c.
|
static |
Definition at line 997 of file aiori-S3.c.
References IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 1425 of file aiori-S3.c.
References IOR_param_t::filePerProc, MPI_CHECK, rank, s3_connect(), IOR_param_t::testComm, TRUE, IOR_param_t::verbose, VERBOSE_2, and WARN.
|
static |
Definition at line 221 of file aiori-S3.c.
void s3_MPU_reset | ( | IOR_param_t * | param | ) |
Definition at line 420 of file aiori-S3.c.
References IOR_param_t::part_number.
Referenced by S3_Close_internal().
|
static |
Definition at line 620 of file aiori-S3.c.
References FALSE, IOR_CREAT, IOR_param_t::openFlags, S3_Create_Or_Open_internal(), TRUE, IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 942 of file aiori-S3.c.
References S3_Xfer_internal(), and TRUE.
|
static |
Definition at line 735 of file aiori-S3.c.
References IOR_param_t::blockSize, buff, BUFF_SIZE, ERR_SIMPLE, ETAG_SIZE, IOR_param_t::filePerProc, IOR_param_t::fsyncPerWrite, IOR_param_t::numTasks, offset, IOR_param_t::offset, IOR_param_t::part_number, rank, IOR_param_t::segmentCount, IOR_param_t::transferSize, TRUE, IOR_param_t::UploadId, verbose, IOR_param_t::verbose, VERBOSE_2, VERBOSE_3, VERBOSE_4, WARN, and WRITE.
Referenced by EMC_Xfer(), and S3_Xfer().
const char* bucket_name = "ior" |
Definition at line 124 of file aiori-S3.c.
Referenced by s3_connect().
|
static |
Definition at line 117 of file aiori-S3.c.
Referenced by S3_Close_internal(), s3_connect(), S3_Create_Or_Open_internal(), and S3_Xfer_internal().
const int ETAG_SIZE = 32 |
Definition at line 119 of file aiori-S3.c.
Referenced by S3_Close_internal(), and S3_Xfer_internal().
IOBuf* etags |
Definition at line 142 of file aiori-S3.c.
IOBuf* io_buf |
Definition at line 141 of file aiori-S3.c.
CURLcode rc |
Definition at line 121 of file aiori-S3.c.
Referenced by DAOS_Access(), DAOS_Close(), DAOS_Create(), DAOS_Delete(), DAOS_Fini(), DAOS_GetFileSize(), DAOS_Init(), DAOS_Open(), DAOS_Xfer(), DecodeDirective(), DFS_Create(), DFS_Delete(), DFS_Finalize(), DFS_GetFileSize(), DFS_Init(), DFS_Mkdir(), DFS_Open(), DFS_Rmdir(), DFS_Stat(), DFS_Xfer(), HandleDistribute(), HDFS_Xfer(), IME_Xfer(), lookup_insert_dir(), NodeMemoryStringToBytes(), parse_filename(), POSIX_Xfer(), string_to_bytes(), and StringToBytes().
ior_aiori_t s3_aiori |
Definition at line 170 of file aiori-S3.c.
ior_aiori_t s3_emc_aiori |
Definition at line 206 of file aiori-S3.c.
ior_aiori_t s3_plus_aiori |
Definition at line 189 of file aiori-S3.c.