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 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 231 of file aiori-S3.c.
#define CURL_WARN | ( | MSG, | |
CURL_ERRNO | |||
) |
Definition at line 241 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 1316 of file aiori-S3.c.
References FALSE, and S3_Close_internal().
|
static |
Definition at line 582 of file aiori-S3.c.
References FALSE, S3_Create_Or_Open_internal(), TRUE, IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 1363 of file aiori-S3.c.
References s3_connect(), IOR_param_t::verbose, and VERBOSE_2.
|
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 931 of file aiori-S3.c.
References FALSE, and S3_Xfer_internal().
|
static |
Definition at line 1310 of file aiori-S3.c.
References S3_Close_internal(), and TRUE.
|
static |
Definition at line 1015 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 275 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 570 of file aiori-S3.c.
References S3_Create_Or_Open_internal(), TRUE, IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 438 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, IOR_param_t::useO_DIRECT, 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 1334 of file aiori-S3.c.
References s3_connect(), IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 382 of file aiori-S3.c.
References IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 224 of file aiori-S3.c.
|
static |
Definition at line 977 of file aiori-S3.c.
References IOR_param_t::verbose, and VERBOSE_2.
|
static |
Definition at line 1405 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 217 of file aiori-S3.c.
void s3_MPU_reset | ( | IOR_param_t * | param | ) |
Definition at line 400 of file aiori-S3.c.
References IOR_param_t::part_number.
Referenced by S3_Close_internal().
|
static |
Definition at line 600 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 922 of file aiori-S3.c.
References S3_Xfer_internal(), and TRUE.
|
static |
Definition at line 715 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 DecodeDirective(), HDFS_Xfer(), IME_Xfer(), NodeMemoryStringToBytes(), POSIX_Xfer(), string_to_bytes(), and StringToBytes().
ior_aiori_t s3_aiori |
Definition at line 168 of file aiori-S3.c.
ior_aiori_t s3_emc_aiori |
Definition at line 202 of file aiori-S3.c.
ior_aiori_t s3_plus_aiori |
Definition at line 185 of file aiori-S3.c.