summaryrefslogtreecommitdiffstats
path: root/src/H5FDros3.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5FDros3.c')
-rw-r--r--src/H5FDros3.c484
1 files changed, 194 insertions, 290 deletions
diff --git a/src/H5FDros3.c b/src/H5FDros3.c
index a936f55..ca18025 100644
--- a/src/H5FDros3.c
+++ b/src/H5FDros3.c
@@ -25,14 +25,14 @@
/* This source code file is part of the H5FD driver module */
#include "H5FDdrvr_module.h"
-#include "H5private.h" /* Generic Functions */
-#include "H5Eprivate.h" /* Error handling */
-#include "H5FDprivate.h" /* File drivers */
-#include "H5FDros3.h" /* ros3 file driver */
-#include "H5FLprivate.h" /* Free Lists */
-#include "H5Iprivate.h" /* IDs */
-#include "H5MMprivate.h" /* Memory management */
-#include "H5FDs3comms.h" /* S3 Communications */
+#include "H5private.h" /* Generic Functions */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5FDprivate.h" /* File drivers */
+#include "H5FDros3.h" /* ros3 file driver */
+#include "H5FLprivate.h" /* Free Lists */
+#include "H5Iprivate.h" /* IDs */
+#include "H5MMprivate.h" /* Memory management */
+#include "H5FDs3comms.h" /* S3 Communications */
#ifdef H5_HAVE_ROS3_VFD
@@ -63,29 +63,27 @@ static hid_t H5FD_ROS3_g = 0;
* 2^(10+(1*16)) = 2^26 = 64MB
* Reads of 64MB or greater fall in "overflow" bin[BIN_COUNT]
*/
-#define ROS3_STATS_BASE 2
-#define ROS3_STATS_INTERVAL 1
+#define ROS3_STATS_BASE 2
+#define ROS3_STATS_INTERVAL 1
#define ROS3_STATS_START_POWER 10
#define ROS3_STATS_BIN_COUNT 16 /* MUST BE GREATER THAN 0 */
-
/*
* Calculate `BASE ^ (START_POWER + (INTERVAL * bin_i))`
* Stores result at `(unsigned long long *) out_ptr`.
* Used in computing boundaries between stats bins.
*/
-#define ROS3_STATS_POW(bin_i, out_ptr) { \
- unsigned long long donotshadowresult = 1; \
- unsigned donotshadowindex = 0; \
- for (donotshadowindex = 0; \
- donotshadowindex < (((bin_i) * ROS3_STATS_INTERVAL) + \
- ROS3_STATS_START_POWER); \
- donotshadowindex++) \
- { \
- donotshadowresult *= ROS3_STATS_BASE; \
- } \
- *(out_ptr) = donotshadowresult; \
-}
+#define ROS3_STATS_POW(bin_i, out_ptr) \
+ { \
+ unsigned long long donotshadowresult = 1; \
+ unsigned donotshadowindex = 0; \
+ for (donotshadowindex = 0; \
+ donotshadowindex < (((bin_i)*ROS3_STATS_INTERVAL) + ROS3_STATS_START_POWER); \
+ donotshadowindex++) { \
+ donotshadowresult *= ROS3_STATS_BASE; \
+ } \
+ *(out_ptr) = donotshadowresult; \
+ }
/* array to hold pre-computed boundaries for stats bins
*/
@@ -192,13 +190,13 @@ typedef struct {
*
***************************************************************************/
typedef struct H5FD_ros3_t {
- H5FD_t pub;
- H5FD_ros3_fapl_t fa;
- haddr_t eoa;
- s3r_t *s3r_handle;
+ H5FD_t pub;
+ H5FD_ros3_fapl_t fa;
+ haddr_t eoa;
+ s3r_t * s3r_handle;
#if ROS3_STATS
- ros3_statsbin meta[ROS3_STATS_BIN_COUNT + 1];
- ros3_statsbin raw[ROS3_STATS_BIN_COUNT + 1];
+ ros3_statsbin meta[ROS3_STATS_BIN_COUNT + 1];
+ ros3_statsbin raw[ROS3_STATS_BIN_COUNT + 1];
#endif
} H5FD_ros3_t;
@@ -212,74 +210,70 @@ typedef struct H5FD_ros3_t {
* Only included if it may be used -- ROS3 VFD is enabled.
*
*/
-#define MAXADDR (((haddr_t)1<<(8*sizeof(HDoff_t)-1))-1)
-#define ADDR_OVERFLOW(A) (HADDR_UNDEF==(A) || ((A) & ~(haddr_t)MAXADDR))
+#define MAXADDR (((haddr_t)1 << (8 * sizeof(HDoff_t) - 1)) - 1)
+#define ADDR_OVERFLOW(A) (HADDR_UNDEF == (A) || ((A) & ~(haddr_t)MAXADDR))
/* Prototypes */
static herr_t H5FD_ros3_term(void);
-static void *H5FD_ros3_fapl_get(H5FD_t *_file);
-static void *H5FD_ros3_fapl_copy(const void *_old_fa);
+static void * H5FD_ros3_fapl_get(H5FD_t *_file);
+static void * H5FD_ros3_fapl_copy(const void *_old_fa);
static herr_t H5FD_ros3_fapl_free(void *_fa);
-static H5FD_t *H5FD_ros3_open(const char *name, unsigned flags, hid_t fapl_id,
- haddr_t maxaddr);
+static H5FD_t *H5FD_ros3_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr);
static herr_t H5FD_ros3_close(H5FD_t *_file);
static int H5FD_ros3_cmp(const H5FD_t *_f1, const H5FD_t *_f2);
static herr_t H5FD_ros3_query(const H5FD_t *_f1, unsigned long *flags);
static haddr_t H5FD_ros3_get_eoa(const H5FD_t *_file, H5FD_mem_t type);
static herr_t H5FD_ros3_set_eoa(H5FD_t *_file, H5FD_mem_t type, haddr_t addr);
static haddr_t H5FD_ros3_get_eof(const H5FD_t *_file, H5FD_mem_t type);
-static herr_t H5FD_ros3_get_handle(H5FD_t *_file, hid_t fapl,
- void** file_handle);
-static herr_t H5FD_ros3_read(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id,
- haddr_t addr, size_t size, void *buf);
-static herr_t H5FD_ros3_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id,
- haddr_t addr, size_t size, const void *buf);
-static herr_t H5FD_ros3_truncate(H5FD_t *_file, hid_t dxpl_id,
- hbool_t closing);
+static herr_t H5FD_ros3_get_handle(H5FD_t *_file, hid_t fapl, void **file_handle);
+static herr_t H5FD_ros3_read(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, haddr_t addr, size_t size,
+ void *buf);
+static herr_t H5FD_ros3_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, haddr_t addr, size_t size,
+ const void *buf);
+static herr_t H5FD_ros3_truncate(H5FD_t *_file, hid_t dxpl_id, hbool_t closing);
static herr_t H5FD_ros3_lock(H5FD_t *_file, hbool_t rw);
static herr_t H5FD_ros3_unlock(H5FD_t *_file);
-static herr_t H5FD_ros3_validate_config(const H5FD_ros3_fapl_t * fa);
+static herr_t H5FD_ros3_validate_config(const H5FD_ros3_fapl_t *fa);
static const H5FD_class_t H5FD_ros3_g = {
- "ros3", /* name */
- MAXADDR, /* maxaddr */
- H5F_CLOSE_WEAK, /* fc_degree */
- H5FD_ros3_term, /* terminate */
- NULL, /* sb_size */
- NULL, /* sb_encode */
- NULL, /* sb_decode */
- sizeof(H5FD_ros3_fapl_t), /* fapl_size */
- H5FD_ros3_fapl_get, /* fapl_get */
- H5FD_ros3_fapl_copy, /* fapl_copy */
- H5FD_ros3_fapl_free, /* fapl_free */
- 0, /* dxpl_size */
- NULL, /* dxpl_copy */
- NULL, /* dxpl_free */
- H5FD_ros3_open, /* open */
- H5FD_ros3_close, /* close */
- H5FD_ros3_cmp, /* cmp */
- H5FD_ros3_query, /* query */
- NULL, /* get_type_map */
- NULL, /* alloc */
- NULL, /* free */
- H5FD_ros3_get_eoa, /* get_eoa */
- H5FD_ros3_set_eoa, /* set_eoa */
- H5FD_ros3_get_eof, /* get_eof */
- H5FD_ros3_get_handle, /* get_handle */
- H5FD_ros3_read, /* read */
- H5FD_ros3_write, /* write */
- NULL, /* flush */
- H5FD_ros3_truncate, /* truncate */
- H5FD_ros3_lock, /* lock */
- H5FD_ros3_unlock, /* unlock */
- NULL, /* dedup */
- H5FD_FLMAP_DICHOTOMY /* fl_map */
+ "ros3", /* name */
+ MAXADDR, /* maxaddr */
+ H5F_CLOSE_WEAK, /* fc_degree */
+ H5FD_ros3_term, /* terminate */
+ NULL, /* sb_size */
+ NULL, /* sb_encode */
+ NULL, /* sb_decode */
+ sizeof(H5FD_ros3_fapl_t), /* fapl_size */
+ H5FD_ros3_fapl_get, /* fapl_get */
+ H5FD_ros3_fapl_copy, /* fapl_copy */
+ H5FD_ros3_fapl_free, /* fapl_free */
+ 0, /* dxpl_size */
+ NULL, /* dxpl_copy */
+ NULL, /* dxpl_free */
+ H5FD_ros3_open, /* open */
+ H5FD_ros3_close, /* close */
+ H5FD_ros3_cmp, /* cmp */
+ H5FD_ros3_query, /* query */
+ NULL, /* get_type_map */
+ NULL, /* alloc */
+ NULL, /* free */
+ H5FD_ros3_get_eoa, /* get_eoa */
+ H5FD_ros3_set_eoa, /* set_eoa */
+ H5FD_ros3_get_eof, /* get_eof */
+ H5FD_ros3_get_handle, /* get_handle */
+ H5FD_ros3_read, /* read */
+ H5FD_ros3_write, /* write */
+ NULL, /* flush */
+ H5FD_ros3_truncate, /* truncate */
+ H5FD_ros3_lock, /* lock */
+ H5FD_ros3_unlock, /* unlock */
+ NULL, /* dedup */
+ H5FD_FLMAP_DICHOTOMY /* fl_map */
};
/* Declare a free list to manage the H5FD_ros3_t struct */
H5FL_DEFINE_STATIC(H5FD_ros3_t);
-
/*-------------------------------------------------------------------------
* Function: H5FD__init_package
*
@@ -299,8 +293,7 @@ H5FD__init_package(void)
FUNC_ENTER_STATIC
if (H5FD_ros3_init() < 0) {
- HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL,
- "unable to initialize ros3 VFD")
+ HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize ros3 VFD")
}
done:
@@ -308,7 +301,6 @@ done:
} /* end H5FD__init_package() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_init
*
@@ -357,7 +349,6 @@ done:
} /* end H5FD_ros3_init() */
-
/*---------------------------------------------------------------------------
* Function: H5FD_ros3_term
*
@@ -385,7 +376,6 @@ H5FD_ros3_term(void)
} /* end H5FD_ros3_term() */
-
/*-------------------------------------------------------------------------
* Function: H5Pset_fapl_ros3
*
@@ -402,8 +392,7 @@ H5FD_ros3_term(void)
*-------------------------------------------------------------------------
*/
herr_t
-H5Pset_fapl_ros3(hid_t fapl_id,
- H5FD_ros3_fapl_t *fa)
+H5Pset_fapl_ros3(hid_t fapl_id, H5FD_ros3_fapl_t *fa)
{
H5P_genplist_t *plist = NULL; /* Property list pointer */
herr_t ret_value = FAIL;
@@ -419,8 +408,7 @@ H5Pset_fapl_ros3(hid_t fapl_id,
plist = H5P_object_verify(fapl_id, H5P_FILE_ACCESS);
if (plist == NULL) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, \
- "not a file access property list")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file access property list")
}
if (FAIL == H5FD_ros3_validate_config(fa)) {
@@ -434,7 +422,6 @@ done:
} /* end H5Pset_fapl_ros3() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_validate_config()
*
@@ -456,7 +443,7 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_validate_config(const H5FD_ros3_fapl_t * fa)
+H5FD_ros3_validate_config(const H5FD_ros3_fapl_t *fa)
{
herr_t ret_value = SUCCEED;
@@ -464,19 +451,15 @@ H5FD_ros3_validate_config(const H5FD_ros3_fapl_t * fa)
HDassert(fa != NULL);
- if ( fa->version != H5FD_CURR_ROS3_FAPL_T_VERSION ) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "Unknown H5FD_ros3_fapl_t version");
+ if (fa->version != H5FD_CURR_ROS3_FAPL_T_VERSION) {
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Unknown H5FD_ros3_fapl_t version");
}
/* if set to authenticate, region and id cannot be empty strings
*/
if (fa->authenticate == TRUE) {
- if ((fa->aws_region[0] == '\0') ||
- (fa->secret_id[0] == '\0'))
- {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "Inconsistent authentication information");
+ if ((fa->aws_region[0] == '\0') || (fa->secret_id[0] == '\0')) {
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Inconsistent authentication information");
}
}
@@ -485,7 +468,6 @@ done:
} /* end H5FD_ros3_validate_config() */
-
/*-------------------------------------------------------------------------
* Function: H5Pget_fapl_ros3
*
@@ -504,11 +486,10 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5Pget_fapl_ros3(hid_t fapl_id,
- H5FD_ros3_fapl_t *fa_out)
+H5Pget_fapl_ros3(hid_t fapl_id, H5FD_ros3_fapl_t *fa_out)
{
const H5FD_ros3_fapl_t *fa = NULL;
- H5P_genplist_t *plist = NULL;
+ H5P_genplist_t * plist = NULL;
herr_t ret_value = SUCCEED;
FUNC_ENTER_API(FAIL)
@@ -544,7 +525,6 @@ done:
} /* end H5Pget_fapl_ros3() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_fapl_get
*
@@ -565,16 +545,15 @@ done:
static void *
H5FD_ros3_fapl_get(H5FD_t *_file)
{
- H5FD_ros3_t *file = (H5FD_ros3_t*)_file;
+ H5FD_ros3_t * file = (H5FD_ros3_t *)_file;
H5FD_ros3_fapl_t *fa = NULL;
- void *ret_value = NULL;
+ void * ret_value = NULL;
FUNC_ENTER_NOAPI_NOINIT
fa = (H5FD_ros3_fapl_t *)H5MM_calloc(sizeof(H5FD_ros3_fapl_t));
if (fa == NULL) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
- "memory allocation failed")
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
}
/* Copy the fields of the structure */
@@ -593,7 +572,6 @@ done:
} /* end H5FD_ros3_fapl_get() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_fapl_copy
*
@@ -613,16 +591,15 @@ done:
static void *
H5FD_ros3_fapl_copy(const void *_old_fa)
{
- const H5FD_ros3_fapl_t *old_fa = (const H5FD_ros3_fapl_t*)_old_fa;
- H5FD_ros3_fapl_t *new_fa = NULL;
- void *ret_value = NULL;
+ const H5FD_ros3_fapl_t *old_fa = (const H5FD_ros3_fapl_t *)_old_fa;
+ H5FD_ros3_fapl_t * new_fa = NULL;
+ void * ret_value = NULL;
FUNC_ENTER_NOAPI_NOINIT
new_fa = (H5FD_ros3_fapl_t *)H5MM_malloc(sizeof(H5FD_ros3_fapl_t));
if (new_fa == NULL) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
- "memory allocation failed");
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
}
HDmemcpy(new_fa, old_fa, sizeof(H5FD_ros3_fapl_t));
@@ -638,7 +615,6 @@ done:
} /* end H5FD_ros3_fapl_copy() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_fapl_free
*
@@ -656,7 +632,7 @@ done:
static herr_t
H5FD_ros3_fapl_free(void *_fa)
{
- H5FD_ros3_fapl_t *fa = (H5FD_ros3_fapl_t*)_fa;
+ H5FD_ros3_fapl_t *fa = (H5FD_ros3_fapl_t *)_fa;
FUNC_ENTER_NOAPI_NOINIT_NOERR
@@ -704,15 +680,14 @@ ros3_reset_stats(H5FD_ros3_t *file)
#endif
if (file == NULL) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "file was null");
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "file was null");
}
for (i = 0; i <= ROS3_STATS_BIN_COUNT; i++) {
- file->raw[i].bytes = 0;
- file->raw[i].count = 0;
- file->raw[i].min = (unsigned long long)ROS3_STATS_STARTING_MIN;
- file->raw[i].max = 0;
+ file->raw[i].bytes = 0;
+ file->raw[i].count = 0;
+ file->raw[i].min = (unsigned long long)ROS3_STATS_STARTING_MIN;
+ file->raw[i].max = 0;
file->meta[i].bytes = 0;
file->meta[i].count = 0;
@@ -727,7 +702,6 @@ done:
#endif /* ROS3_STATS */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_open()
@@ -760,21 +734,15 @@ done:
*-------------------------------------------------------------------------
*/
static H5FD_t *
-H5FD_ros3_open(
- const char *url,
- unsigned flags,
- hid_t fapl_id,
- haddr_t maxaddr)
+H5FD_ros3_open(const char *url, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
{
- H5FD_ros3_t *file = NULL;
- struct tm *now = NULL;
- char iso8601now[ISO8601_SIZE];
- unsigned char signing_key[SHA256_DIGEST_LENGTH];
- s3r_t *handle = NULL;
- H5FD_ros3_fapl_t fa;
- H5FD_t *ret_value = NULL;
-
-
+ H5FD_ros3_t * file = NULL;
+ struct tm * now = NULL;
+ char iso8601now[ISO8601_SIZE];
+ unsigned char signing_key[SHA256_DIGEST_LENGTH];
+ s3r_t * handle = NULL;
+ H5FD_ros3_fapl_t fa;
+ H5FD_t * ret_value = NULL;
FUNC_ENTER_NOAPI_NOINIT
@@ -793,16 +761,14 @@ H5FD_ros3_open(
if (ADDR_OVERFLOW(maxaddr))
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, NULL, "bogus maxaddr")
if (flags != H5F_ACC_RDONLY)
- HGOTO_ERROR(H5E_ARGS, H5E_UNSUPPORTED, NULL,
- "only Read-Only access allowed")
+ HGOTO_ERROR(H5E_ARGS, H5E_UNSUPPORTED, NULL, "only Read-Only access allowed")
if (FAIL == H5Pget_fapl_ros3(fapl_id, &fa)) {
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "can't get property list")
}
if (CURLE_OK != curl_global_init(CURL_GLOBAL_DEFAULT)) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL,
- "unable to initialize curl global (placeholder flags)")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "unable to initialize curl global (placeholder flags)")
}
/* open file; procedure depends on whether or not the fapl instructs to
@@ -814,26 +780,19 @@ H5FD_ros3_open(
* find way to re-use/share
*/
now = gmnow();
- HDassert( now != NULL );
+ HDassert(now != NULL);
if (ISO8601NOW(iso8601now, now) != (ISO8601_SIZE - 1)) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL,
- "problem while writing iso8601 timestamp")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "problem while writing iso8601 timestamp")
}
- if (FAIL == H5FD_s3comms_signing_key(signing_key,
- (const char *)fa.secret_key,
- (const char *)fa.aws_region,
- (const char *)iso8601now) )
- {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL,
- "problem while computing signing key")
+ if (FAIL == H5FD_s3comms_signing_key(signing_key, (const char *)fa.secret_key,
+ (const char *)fa.aws_region, (const char *)iso8601now)) {
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "problem while computing signing key")
}
- handle = H5FD_s3comms_s3r_open(
- url,
- (const char *)fa.aws_region,
- (const char *)fa.secret_id,
- (const unsigned char *)signing_key);
- } else {
+ handle = H5FD_s3comms_s3r_open(url, (const char *)fa.aws_region, (const char *)fa.secret_id,
+ (const unsigned char *)signing_key);
+ }
+ else {
handle = H5FD_s3comms_s3r_open(url, NULL, NULL, NULL);
} /* if/else should authenticate */
@@ -849,8 +808,7 @@ H5FD_ros3_open(
*/
file = H5FL_CALLOC(H5FD_ros3_t);
if (file == NULL) {
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
- "unable to allocate file struct")
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "unable to allocate file struct")
}
file->s3r_handle = handle;
@@ -858,26 +816,24 @@ H5FD_ros3_open(
#if ROS3_STATS
if (FAIL == ros3_reset_stats(file)) {
- HGOTO_ERROR(H5E_INTERNAL, H5E_UNINITIALIZED, NULL,
- "unable to reset file statistics")
+ HGOTO_ERROR(H5E_INTERNAL, H5E_UNINITIALIZED, NULL, "unable to reset file statistics")
}
#endif /* ROS3_STATS */
- ret_value = (H5FD_t*)file;
+ ret_value = (H5FD_t *)file;
done:
if (ret_value == NULL) {
if (handle != NULL) {
if (FAIL == H5FD_s3comms_s3r_close(handle)) {
- HDONE_ERROR(H5E_VFL, H5E_CANTCLOSEFILE, NULL,
- "unable to close s3 file handle")
+ HDONE_ERROR(H5E_VFL, H5E_CANTCLOSEFILE, NULL, "unable to close s3 file handle")
}
}
if (file != NULL) {
file = H5FL_FREE(H5FD_ros3_t, file);
}
curl_global_cleanup(); /* early cleanup because open failed */
- } /* end if null return value (error) */
+ } /* end if null return value (error) */
FUNC_LEAVE_NOAPI(ret_value)
@@ -940,45 +896,38 @@ done:
*----------------------------------------------------------------------------
*/
static herr_t
-ros3_fprint_stats(FILE *stream,
- const H5FD_ros3_t *file)
+ros3_fprint_stats(FILE *stream, const H5FD_ros3_t *file)
{
herr_t ret_value = SUCCEED;
- parsed_url_t *purl = NULL;
+ parsed_url_t * purl = NULL;
unsigned i = 0;
unsigned long count_meta = 0;
unsigned long count_raw = 0;
double average_meta = 0.0;
double average_raw = 0.0;
- unsigned long long min_meta = (unsigned long long)ROS3_STATS_STARTING_MIN;
- unsigned long long min_raw = (unsigned long long)ROS3_STATS_STARTING_MIN;
+ unsigned long long min_meta = (unsigned long long)ROS3_STATS_STARTING_MIN;
+ unsigned long long min_raw = (unsigned long long)ROS3_STATS_STARTING_MIN;
unsigned long long max_meta = 0;
unsigned long long max_raw = 0;
unsigned long long bytes_raw = 0;
unsigned long long bytes_meta = 0;
double re_dub = 0.0; /* re-usable double variable */
unsigned suffix_i = 0;
- const char suffixes[] = { ' ', 'K', 'M', 'G', 'T', 'P' };
-
-
+ const char suffixes[] = {' ', 'K', 'M', 'G', 'T', 'P'};
FUNC_ENTER_NOAPI_NOINIT
if (stream == NULL) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "file stream cannot be null" );
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "file stream cannot be null");
}
if (file == NULL) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "file cannot be null");
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "file cannot be null");
}
if (file->s3r_handle == NULL) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "s3 request handle cannot be null");
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "s3 request handle cannot be null");
}
if (file->s3r_handle->purl == NULL) {
- HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
- "parsed url structure cannot be null");
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "parsed url structure cannot be null");
}
purl = file->s3r_handle->purl;
@@ -995,7 +944,8 @@ ros3_fprint_stats(FILE *stream,
else
HDfprintf(stream, "/");
HDfprintf(stream, "?%s", purl->query);
- } else if (purl->path != NULL && purl->path[0] != '\0') {
+ }
+ else if (purl->path != NULL && purl->path[0] != '\0') {
HDfprintf(stream, "/%s", purl->path);
}
HDfprintf(stream, "\n");
@@ -1008,14 +958,18 @@ ros3_fprint_stats(FILE *stream,
const ros3_statsbin *r = &file->raw[i];
const ros3_statsbin *m = &file->meta[i];
- if (m->min < min_meta) min_meta = m->min;
- if (r->min < min_raw) min_raw = r->min;
- if (m->max > max_meta) max_meta = m->max;
- if (r->max > max_raw) max_raw = r->max;
+ if (m->min < min_meta)
+ min_meta = m->min;
+ if (r->min < min_raw)
+ min_raw = r->min;
+ if (m->max > max_meta)
+ max_meta = m->max;
+ if (r->max > max_raw)
+ max_raw = r->max;
- count_raw += r->count;
+ count_raw += r->count;
count_meta += m->count;
- bytes_raw += r->bytes;
+ bytes_raw += r->bytes;
bytes_meta += m->bytes;
}
if (count_raw > 0)
@@ -1027,10 +981,10 @@ ros3_fprint_stats(FILE *stream,
* PRINT OVERVIEW *
******************/
- HDfprintf(stream, "TOTAL READS: %llu (%llu meta, %llu raw)\n",
- count_raw + count_meta, count_meta, count_raw);
- HDfprintf(stream, "TOTAL BYTES: %llu (%llu meta, %llu raw)\n",
- bytes_raw + bytes_meta, bytes_meta, bytes_raw);
+ HDfprintf(stream, "TOTAL READS: %llu (%llu meta, %llu raw)\n", count_raw + count_meta, count_meta,
+ count_raw);
+ HDfprintf(stream, "TOTAL BYTES: %llu (%llu meta, %llu raw)\n", bytes_raw + bytes_meta, bytes_meta,
+ bytes_raw);
if (count_raw + count_meta == 0)
goto done;
@@ -1043,7 +997,8 @@ ros3_fprint_stats(FILE *stream,
HDfprintf(stream, " min ");
if (count_meta == 0) {
HDfprintf(stream, " 0.000 ");
- } else {
+ }
+ else {
re_dub = (double)min_meta;
for (suffix_i = 0; re_dub >= 1024.0; suffix_i++)
re_dub /= 1024.0;
@@ -1053,7 +1008,8 @@ ros3_fprint_stats(FILE *stream,
if (count_raw == 0) {
HDfprintf(stream, " 0.000 \n");
- } else {
+ }
+ else {
re_dub = (double)min_raw;
for (suffix_i = 0; re_dub >= 1024.0; suffix_i++)
re_dub /= 1024.0;
@@ -1091,10 +1047,8 @@ ros3_fprint_stats(FILE *stream,
* PRINT INDIVIDUAL BIN STATS *
******************************/
- HDfprintf(stream,
- "BINS # of reads total bytes average size\n");
- HDfprintf(stream,
- " up-to meta raw meta raw meta raw\n");
+ HDfprintf(stream, "BINS # of reads total bytes average size\n");
+ HDfprintf(stream, " up-to meta raw meta raw meta raw\n");
for (i = 0; i <= ROS3_STATS_BIN_COUNT; i++) {
const ros3_statsbin *m;
@@ -1117,9 +1071,10 @@ ros3_fprint_stats(FILE *stream,
range_end = ros3_stats_boundaries[i];
if (i == ROS3_STATS_BIN_COUNT) {
- range_end = ros3_stats_boundaries[i-1];
+ range_end = ros3_stats_boundaries[i - 1];
HDfprintf(stream, ">");
- } else {
+ }
+ else {
HDfprintf(stream, " ");
}
@@ -1154,15 +1109,14 @@ ros3_fprint_stats(FILE *stream,
re_dub /= 1024.0;
HDassert(suffix_i < sizeof(suffixes));
- HDfprintf(stream,
- " %8.3f%c %7d %7d %8.3f%c %8.3f%c %8.3f%c %8.3f%c\n",
- re_dub, suffixes[suffix_i], /* bin ceiling */
- m->count, /* metadata reads */
- r->count, /* rawdata reads */
- bm_val, bm_suffix, /* metadata bytes */
- br_val, br_suffix, /* rawdata bytes */
- am_val, am_suffix, /* metadata average */
- ar_val, ar_suffix); /* rawdata average */
+ HDfprintf(stream, " %8.3f%c %7d %7d %8.3f%c %8.3f%c %8.3f%c %8.3f%c\n", re_dub,
+ suffixes[suffix_i], /* bin ceiling */
+ m->count, /* metadata reads */
+ r->count, /* rawdata reads */
+ bm_val, bm_suffix, /* metadata bytes */
+ br_val, br_suffix, /* rawdata bytes */
+ am_val, am_suffix, /* metadata average */
+ ar_val, ar_suffix); /* rawdata average */
fflush(stream);
}
@@ -1173,7 +1127,6 @@ done:
} /* ros3_fprint_stats */
#endif /* ROS3_STATS */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_close()
@@ -1211,15 +1164,13 @@ H5FD_ros3_close(H5FD_t H5_ATTR_UNUSED *_file)
/* Close the underlying request handle
*/
if (FAIL == H5FD_s3comms_s3r_close(file->s3r_handle)) {
- HGOTO_ERROR(H5E_VFL, H5E_CANTCLOSEFILE, FAIL,
- "unable to close S3 request handle")
+ HGOTO_ERROR(H5E_VFL, H5E_CANTCLOSEFILE, FAIL, "unable to close S3 request handle")
}
#if ROS3_STATS
/* TODO: mechanism to re-target stats printout */
if (ros3_fprint_stats(stdout, file) == FAIL) {
- HGOTO_ERROR(H5E_INTERNAL, H5E_ERROR, FAIL,
- "problem while writing file statistics")
+ HGOTO_ERROR(H5E_INTERNAL, H5E_ERROR, FAIL, "problem while writing file statistics")
}
#endif /* ROS3_STATS */
@@ -1234,7 +1185,6 @@ done:
} /* end H5FD_ros3_close() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_cmp()
@@ -1266,12 +1216,10 @@ done:
*-------------------------------------------------------------------------
*/
static int
-H5FD_ros3_cmp(
- const H5FD_t *_f1,
- const H5FD_t *_f2)
+H5FD_ros3_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
{
- const H5FD_ros3_t *f1 = (const H5FD_ros3_t *)_f1;
- const H5FD_ros3_t *f2 = (const H5FD_ros3_t *)_f2;
+ const H5FD_ros3_t * f1 = (const H5FD_ros3_t *)_f1;
+ const H5FD_ros3_t * f2 = (const H5FD_ros3_t *)_f2;
const parsed_url_t *purl1 = NULL;
const parsed_url_t *purl2 = NULL;
int ret_value = 0;
@@ -1310,12 +1258,10 @@ H5FD_ros3_cmp(
HGOTO_DONE(-1);
}
}
- else
- if (purl1->port) {
+ else if (purl1->port) {
HGOTO_DONE(-1);
}
- else
- if (purl2->port) {
+ else if (purl2->port) {
HGOTO_DONE(-1);
}
@@ -1325,12 +1271,10 @@ H5FD_ros3_cmp(
HGOTO_DONE(-1);
}
}
- else
- if (purl1->path && !purl2->path) {
+ else if (purl1->path && !purl2->path) {
HGOTO_DONE(-1);
}
- else
- if (purl2->path && !purl1->path) {
+ else if (purl2->path && !purl1->path) {
HGOTO_DONE(-1);
}
@@ -1340,12 +1284,10 @@ H5FD_ros3_cmp(
HGOTO_DONE(-1);
}
}
- else
- if (purl1->query && !purl2->query) {
+ else if (purl1->query && !purl2->query) {
HGOTO_DONE(-1);
}
- else
- if (purl2->query && !purl1->query) {
+ else if (purl2->query && !purl1->query) {
HGOTO_DONE(-1);
}
@@ -1355,12 +1297,10 @@ H5FD_ros3_cmp(
HGOTO_DONE(-1);
}
}
- else
- if (f1->fa.aws_region[0] != '\0') {
+ else if (f1->fa.aws_region[0] != '\0') {
HGOTO_DONE(-1);
}
- else
- if (f2->fa.aws_region[0] != '\0') {
+ else if (f2->fa.aws_region[0] != '\0') {
HGOTO_DONE(-1);
}
@@ -1370,12 +1310,10 @@ H5FD_ros3_cmp(
HGOTO_DONE(-1);
}
}
- else
- if (f1->fa.secret_id[0] != '\0') {
+ else if (f1->fa.secret_id[0] != '\0') {
HGOTO_DONE(-1);
}
- else
- if (f2->fa.secret_id[0] != '\0') {
+ else if (f2->fa.secret_id[0] != '\0') {
HGOTO_DONE(-1);
}
@@ -1385,12 +1323,10 @@ H5FD_ros3_cmp(
HGOTO_DONE(-1);
}
}
- else
- if (f1->fa.secret_key[0] != '\0') {
+ else if (f1->fa.secret_key[0] != '\0') {
HGOTO_DONE(-1);
}
- else
- if (f2->fa.secret_key[0] != '\0') {
+ else if (f2->fa.secret_key[0] != '\0') {
HGOTO_DONE(-1);
}
@@ -1399,7 +1335,6 @@ done:
} /* H5FD_ros3_cmp() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_query
*
@@ -1420,8 +1355,7 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_query(const H5FD_t H5_ATTR_UNUSED *_file,
- unsigned long *flags /* out */)
+H5FD_ros3_query(const H5FD_t H5_ATTR_UNUSED *_file, unsigned long *flags /* out */)
{
FUNC_ENTER_NOAPI_NOINIT_NOERR
@@ -1440,7 +1374,6 @@ H5FD_ros3_query(const H5FD_t H5_ATTR_UNUSED *_file,
} /* H5FD_ros3_query() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_get_eoa()
@@ -1461,8 +1394,7 @@ H5FD_ros3_query(const H5FD_t H5_ATTR_UNUSED *_file,
*-------------------------------------------------------------------------
*/
static haddr_t
-H5FD_ros3_get_eoa(const H5FD_t *_file,
- H5FD_mem_t H5_ATTR_UNUSED type)
+H5FD_ros3_get_eoa(const H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type)
{
const H5FD_ros3_t *file = (const H5FD_ros3_t *)_file;
@@ -1476,7 +1408,6 @@ H5FD_ros3_get_eoa(const H5FD_t *_file,
} /* end H5FD_ros3_get_eoa() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_set_eoa()
@@ -1495,9 +1426,7 @@ H5FD_ros3_get_eoa(const H5FD_t *_file,
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_set_eoa(H5FD_t *_file,
- H5FD_mem_t H5_ATTR_UNUSED type,
- haddr_t addr)
+H5FD_ros3_set_eoa(H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type, haddr_t addr)
{
H5FD_ros3_t *file = (H5FD_ros3_t *)_file;
@@ -1513,7 +1442,6 @@ H5FD_ros3_set_eoa(H5FD_t *_file,
} /* H5FD_ros3_set_eoa() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_get_eof()
@@ -1533,8 +1461,7 @@ H5FD_ros3_set_eoa(H5FD_t *_file,
*-------------------------------------------------------------------------
*/
static haddr_t
-H5FD_ros3_get_eof(const H5FD_t *_file,
- H5FD_mem_t H5_ATTR_UNUSED type)
+H5FD_ros3_get_eof(const H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type)
{
const H5FD_ros3_t *file = (const H5FD_ros3_t *)_file;
@@ -1548,7 +1475,6 @@ H5FD_ros3_get_eof(const H5FD_t *_file,
} /* end H5FD_ros3_get_eof() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_get_handle()
@@ -1567,9 +1493,7 @@ H5FD_ros3_get_eof(const H5FD_t *_file,
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_get_handle(H5FD_t *_file,
- hid_t H5_ATTR_UNUSED fapl,
- void **file_handle)
+H5FD_ros3_get_handle(H5FD_t *_file, hid_t H5_ATTR_UNUSED fapl, void **file_handle)
{
H5FD_ros3_t *file = (H5FD_ros3_t *)_file;
herr_t ret_value = SUCCEED;
@@ -1591,7 +1515,6 @@ done:
} /* end H5FD_ros3_get_handle() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_read()
@@ -1615,12 +1538,10 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_read(H5FD_t *_file,
- H5FD_mem_t H5_ATTR_UNUSED type,
- hid_t H5_ATTR_UNUSED dxpl_id,
- haddr_t addr, /* start offset */
- size_t size, /* length of read */
- void *buf) /* out */
+H5FD_ros3_read(H5FD_t *_file, H5FD_mem_t H5_ATTR_UNUSED type, hid_t H5_ATTR_UNUSED dxpl_id,
+ haddr_t addr, /* start offset */
+ size_t size, /* length of read */
+ void * buf) /* out */
{
H5FD_ros3_t *file = (H5FD_ros3_t *)_file;
size_t filesize = 0;
@@ -1631,7 +1552,6 @@ H5FD_ros3_read(H5FD_t *_file,
unsigned bin_i = 0;
#endif /* ROS3_STATS */
-
FUNC_ENTER_NOAPI_NOINIT
#if ROS3_DEBUG
@@ -1661,9 +1581,7 @@ H5FD_ros3_read(H5FD_t *_file,
break;
}
}
- bin = (type == H5FD_MEM_DRAW)
- ? &file->raw[bin_i]
- : &file->meta[bin_i];
+ bin = (type == H5FD_MEM_DRAW) ? &file->raw[bin_i] : &file->meta[bin_i];
/* Store collected stats in appropriate bin
*/
@@ -1689,7 +1607,6 @@ done:
} /* end H5FD_ros3_read() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_write()
@@ -1709,12 +1626,8 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_write(H5FD_t H5_ATTR_UNUSED *_file,
- H5FD_mem_t H5_ATTR_UNUSED type,
- hid_t H5_ATTR_UNUSED dxpl_id,
- haddr_t H5_ATTR_UNUSED addr,
- size_t H5_ATTR_UNUSED size,
- const void H5_ATTR_UNUSED *buf)
+H5FD_ros3_write(H5FD_t H5_ATTR_UNUSED *_file, H5FD_mem_t H5_ATTR_UNUSED type, hid_t H5_ATTR_UNUSED dxpl_id,
+ haddr_t H5_ATTR_UNUSED addr, size_t H5_ATTR_UNUSED size, const void H5_ATTR_UNUSED *buf)
{
herr_t ret_value = FAIL;
@@ -1724,15 +1637,13 @@ H5FD_ros3_write(H5FD_t H5_ATTR_UNUSED *_file,
HDfprintf(stdout, "H5FD_ros3_write() called.\n");
#endif
- HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, FAIL,
- "cannot write to read-only file.")
+ HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, FAIL, "cannot write to read-only file.")
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* H5FD_ros3_write() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_truncate()
@@ -1754,9 +1665,7 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_truncate(H5FD_t H5_ATTR_UNUSED *_file,
- hid_t H5_ATTR_UNUSED dxpl_id,
- hbool_t H5_ATTR_UNUSED closing)
+H5FD_ros3_truncate(H5FD_t H5_ATTR_UNUSED *_file, hid_t H5_ATTR_UNUSED dxpl_id, hbool_t H5_ATTR_UNUSED closing)
{
herr_t ret_value = SUCCEED;
@@ -1766,15 +1675,13 @@ H5FD_ros3_truncate(H5FD_t H5_ATTR_UNUSED *_file,
HDfprintf(stdout, "H5FD_ros3_truncate() called.\n");
#endif
- HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, FAIL,
- "cannot truncate read-only file.")
+ HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, FAIL, "cannot truncate read-only file.")
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5FD_ros3_truncate() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_lock()
@@ -1797,15 +1704,13 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5FD_ros3_lock(H5FD_t H5_ATTR_UNUSED *_file,
- hbool_t H5_ATTR_UNUSED rw)
+H5FD_ros3_lock(H5FD_t H5_ATTR_UNUSED *_file, hbool_t H5_ATTR_UNUSED rw)
{
FUNC_ENTER_NOAPI_NOINIT_NOERR
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5FD_ros3_lock() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_unlock()
@@ -1833,4 +1738,3 @@ H5FD_ros3_unlock(H5FD_t H5_ATTR_UNUSED *_file)
} /* end H5FD_ros3_unlock() */
#endif /* H5_HAVE_ROS3_VFD */
-