summaryrefslogtreecommitdiffstats
path: root/src/H5FDros3.c
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-10-01 16:47:45 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-10-01 16:47:45 (GMT)
commit1ba1f2f3222cbe8df0bf601929a4bffd478d7e02 (patch)
treeae51dfc33cf40432dad25a5088767115a98f195e /src/H5FDros3.c
parent8eef7d295cc3dd134aef0a826f1de4287629996d (diff)
downloadhdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.zip
hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.gz
hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.bz2
Source formatted
Diffstat (limited to 'src/H5FDros3.c')
-rw-r--r--src/H5FDros3.c458
1 files changed, 188 insertions, 270 deletions
diff --git a/src/H5FDros3.c b/src/H5FDros3.c
index 3deca7c..002b858 100644
--- a/src/H5FDros3.c
+++ b/src/H5FDros3.c
@@ -21,19 +21,18 @@
*/
/* Interface initialization */
-#define H5_INTERFACE_INIT_FUNC H5FD_ros3_init_interface
-
-
-#include "H5private.h" /* Generic Functions */
-#include "H5Eprivate.h" /* Error handling */
-#include "H5Fprivate.h" /* File access */
-#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 "H5Pprivate.h" /* Property lists */
-#include "H5FDs3comms.h" /* S3 Communications */
+#define H5_INTERFACE_INIT_FUNC H5FD_ros3_init_interface
+
+#include "H5private.h" /* Generic Functions */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5Fprivate.h" /* File access */
+#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 "H5Pprivate.h" /* Property lists */
+#include "H5FDs3comms.h" /* S3 Communications */
#ifdef H5_HAVE_ROS3_VFD
@@ -64,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
*/
@@ -193,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;
@@ -213,69 +210,67 @@ 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 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_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 void *H5FD_ros3_fapl_get(H5FD_t *_file);
-static void *H5FD_ros3_fapl_copy(const void *_old_fa);
+static herr_t H5FD_ros3_validate_config(const H5FD_ros3_fapl_t *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 const H5FD_class_t H5FD_ros3_g = {
- "ros3", /* name */
- MAXADDR, /* maxaddr */
- H5F_CLOSE_WEAK, /* fc_degree */
- 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 */
- H5FD_FLMAP_DICHOTOMY /* fl_map */
+ "ros3", /* name */
+ MAXADDR, /* maxaddr */
+ H5F_CLOSE_WEAK, /* fc_degree */
+ 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 */
+ H5FD_FLMAP_DICHOTOMY /* fl_map */
};
/* Declare a free list to manage the H5FD_ros3_t struct */
H5FL_DEFINE_STATIC(H5FD_ros3_t);
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_init_interface
*
@@ -294,7 +289,6 @@ H5FD_ros3_init_interface(void)
FUNC_LEAVE_NOAPI(H5FD_ros3_init())
} /* H5FD_ros3_init_interface() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_init
*
@@ -311,7 +305,7 @@ H5FD_ros3_init_interface(void)
hid_t
H5FD_ros3_init(void)
{
- hid_t ret_value = H5I_INVALID_HID;
+ hid_t ret_value = H5I_INVALID_HID;
unsigned int bin_i;
FUNC_ENTER_NOAPI(FAIL)
@@ -340,7 +334,6 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5FD_ros3_init() */
-
/*---------------------------------------------------------------------------
* Function: H5FD_ros3_term
*
@@ -367,7 +360,6 @@ H5FD_ros3_term(void)
FUNC_LEAVE_NOAPI_VOID
} /* end H5FD_ros3_term() */
-
/*-------------------------------------------------------------------------
* Function: H5Pset_fapl_ros3
*
@@ -398,7 +390,7 @@ H5Pset_fapl_ros3(hid_t fapl_id, H5FD_ros3_fapl_t *fa)
HDfprintf(stdout, "H5Pset_fapl_ros3() called.\n");
#endif
- if(NULL == (plist = H5P_object_verify(fapl_id, H5P_FILE_ACCESS)))
+ if (NULL == (plist = H5P_object_verify(fapl_id, H5P_FILE_ACCESS)))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file access property list")
if (FAIL == H5FD_ros3_validate_config(fa))
@@ -410,7 +402,6 @@ done:
FUNC_LEAVE_API(ret_value)
} /* end H5Pset_fapl_ros3() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_open()
*
@@ -438,15 +429,13 @@ done:
static H5FD_t *
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
@@ -458,13 +447,13 @@ H5FD_ros3_open(const char *url, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
HDcompile_assert(sizeof(HDoff_t) >= sizeof(size_t));
/* Check arguments */
- if(!url || !*url)
+ if (!url || !*url)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "invalid file name")
- if(0 == maxaddr || HADDR_UNDEF == maxaddr)
+ if (0 == maxaddr || HADDR_UNDEF == maxaddr)
HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, NULL, "bogus maxaddr")
- if(ADDR_OVERFLOW(maxaddr))
+ if (ADDR_OVERFLOW(maxaddr))
HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, NULL, "bogus maxaddr")
- if(flags != H5F_ACC_RDONLY)
+ if (flags != H5F_ACC_RDONLY)
HGOTO_ERROR(H5E_ARGS, H5E_UNSUPPORTED, NULL, "only Read-Only access allowed")
if (FAIL == H5Pget_fapl_ros3(fapl_id, &fa))
@@ -482,22 +471,16 @@ H5FD_ros3_open(const char *url, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
* 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")
- if (FAIL == H5FD_s3comms_signing_key(signing_key,
- (const char *)fa.secret_key,
- (const char *)fa.aws_region,
- (const char *)iso8601now) )
- {
+ 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);
+ 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);
@@ -525,7 +508,7 @@ H5FD_ros3_open(const char *url, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
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) {
@@ -537,13 +520,11 @@ done:
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)
} /* end H5FD_ros3_open() */
-
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_close()
@@ -581,15 +562,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 */
@@ -604,7 +583,6 @@ done:
} /* end H5FD_ros3_close() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_cmp()
@@ -636,12 +614,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;
@@ -680,12 +656,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);
}
@@ -695,12 +669,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);
}
@@ -710,12 +682,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);
}
@@ -725,12 +695,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);
}
@@ -740,12 +708,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);
}
@@ -755,12 +721,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);
}
@@ -769,7 +733,6 @@ done:
} /* H5FD_ros3_cmp() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_query
*
@@ -790,8 +753,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
@@ -810,7 +772,6 @@ H5FD_ros3_query(const H5FD_t H5_ATTR_UNUSED *_file,
} /* H5FD_ros3_query() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_get_eoa()
@@ -831,8 +792,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;
@@ -846,7 +806,6 @@ H5FD_ros3_get_eoa(const H5FD_t *_file,
} /* end H5FD_ros3_get_eoa() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_set_eoa()
@@ -865,9 +824,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;
@@ -883,7 +840,6 @@ H5FD_ros3_set_eoa(H5FD_t *_file,
} /* H5FD_ros3_set_eoa() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_get_eof()
@@ -903,8 +859,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;
@@ -918,7 +873,6 @@ H5FD_ros3_get_eof(const H5FD_t *_file,
} /* end H5FD_ros3_get_eof() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_get_handle()
@@ -937,9 +891,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;
@@ -961,7 +913,6 @@ done:
} /* end H5FD_ros3_get_handle() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_read()
@@ -985,12 +936,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;
@@ -1001,7 +950,6 @@ H5FD_ros3_read(H5FD_t *_file,
unsigned bin_i = 0;
#endif /* ROS3_STATS */
-
FUNC_ENTER_NOAPI_NOINIT
#if ROS3_DEBUG
@@ -1031,9 +979,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
*/
@@ -1059,7 +1005,6 @@ done:
} /* end H5FD_ros3_read() */
-
/*-------------------------------------------------------------------------
*
* Function: H5FD_ros3_write()
@@ -1079,12 +1024,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;
@@ -1094,15 +1035,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()
@@ -1124,9 +1063,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;
@@ -1136,15 +1073,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()
@@ -1167,15 +1102,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()
@@ -1223,7 +1156,7 @@ H5FD_ros3_unlock(H5FD_t H5_ATTR_UNUSED *_file)
*-------------------------------------------------------------------------
*/
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;
@@ -1231,19 +1164,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");
}
}
@@ -1252,7 +1181,6 @@ done:
} /* end H5FD_ros3_validate_config() */
-
/*-------------------------------------------------------------------------
* Function: H5Pget_fapl_ros3
*
@@ -1271,11 +1199,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)
@@ -1311,7 +1238,6 @@ done:
} /* end H5Pget_fapl_ros3() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_fapl_get
*
@@ -1332,16 +1258,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 */
@@ -1360,7 +1285,6 @@ done:
} /* end H5FD_ros3_fapl_get() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_fapl_copy
*
@@ -1380,16 +1304,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));
@@ -1405,7 +1328,6 @@ done:
} /* end H5FD_ros3_fapl_copy() */
-
/*-------------------------------------------------------------------------
* Function: H5FD_ros3_fapl_free
*
@@ -1423,7 +1345,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
@@ -1471,15 +1393,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;
@@ -1550,45 +1471,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;
@@ -1605,7 +1519,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");
@@ -1618,14 +1533,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)
@@ -1637,10 +1556,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;
@@ -1653,7 +1572,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;
@@ -1663,7 +1583,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;
@@ -1701,10 +1622,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;
@@ -1727,9 +1646,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, " ");
}
@@ -1764,15 +1684,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);
}
@@ -1784,4 +1703,3 @@ done:
#endif /* ROS3_STATS */
#endif /* H5_HAVE_ROS3_VFD */
-