diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 16:47:45 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 16:47:45 (GMT) |
commit | 1ba1f2f3222cbe8df0bf601929a4bffd478d7e02 (patch) | |
tree | ae51dfc33cf40432dad25a5088767115a98f195e /src/H5FDros3.c | |
parent | 8eef7d295cc3dd134aef0a826f1de4287629996d (diff) | |
download | hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.zip hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.gz hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5FDros3.c')
-rw-r--r-- | src/H5FDros3.c | 458 |
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 */ - |