diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 14:04:36 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 14:04:36 (GMT) |
commit | f1ba03cea5b82699a984c80bd2deac14fdc8df18 (patch) | |
tree | ebe777c3e0b83f4c4cec9212731da9ebe0a0cfd3 /src/H5Dbtree.c | |
parent | 10343c197906415388f2a4c8d292e21d25cf7381 (diff) | |
download | hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.zip hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.gz hdf5-f1ba03cea5b82699a984c80bd2deac14fdc8df18.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5Dbtree.c')
-rw-r--r-- | src/H5Dbtree.c | 616 |
1 files changed, 281 insertions, 335 deletions
diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 5b5ff4a..c412bf6 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -24,31 +24,29 @@ /* Module Setup */ /****************/ -#include "H5Dmodule.h" /* This source code file is part of the H5D module */ - +#include "H5Dmodule.h" /* This source code file is part of the H5D module */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Bprivate.h" /* B-link trees */ -#include "H5Dpkg.h" /* Datasets */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* Files */ -#include "H5FDprivate.h" /* File drivers */ -#include "H5FLprivate.h" /* Free Lists */ -#include "H5Iprivate.h" /* IDs */ -#include "H5MFprivate.h" /* File space management */ -#include "H5MMprivate.h" /* Memory management */ -#include "H5Oprivate.h" /* Object headers */ -#include "H5Sprivate.h" /* Dataspaces */ -#include "H5VMprivate.h" /* Vector and array functions */ +#include "H5private.h" /* Generic Functions */ +#include "H5Bprivate.h" /* B-link trees */ +#include "H5Dpkg.h" /* Datasets */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Fprivate.h" /* Files */ +#include "H5FDprivate.h" /* File drivers */ +#include "H5FLprivate.h" /* Free Lists */ +#include "H5Iprivate.h" /* IDs */ +#include "H5MFprivate.h" /* File space management */ +#include "H5MMprivate.h" /* Memory management */ +#include "H5Oprivate.h" /* Object headers */ +#include "H5Sprivate.h" /* Dataspaces */ +#include "H5VMprivate.h" /* Vector and array functions */ /****************/ /* Local Macros */ /****************/ - /******************/ /* Local Typedefs */ /******************/ @@ -68,82 +66,72 @@ * The chunk's file address is part of the B-tree and not part of the key. */ typedef struct H5D_btree_key_t { - hsize_t scaled[H5O_LAYOUT_NDIMS]; /*logical offset to start*/ - uint32_t nbytes; /*size of stored data */ - unsigned filter_mask; /*excluded filters */ + hsize_t scaled[H5O_LAYOUT_NDIMS]; /*logical offset to start*/ + uint32_t nbytes; /*size of stored data */ + unsigned filter_mask; /*excluded filters */ } H5D_btree_key_t; /* B-tree callback info for iteration over chunks */ typedef struct H5D_btree_it_ud_t { - H5D_chunk_common_ud_t common; /* Common info for B-tree user data (must be first) */ - H5D_chunk_cb_func_t cb; /* Chunk callback routine */ - void *udata; /* User data for chunk callback routine */ + H5D_chunk_common_ud_t common; /* Common info for B-tree user data (must be first) */ + H5D_chunk_cb_func_t cb; /* Chunk callback routine */ + void * udata; /* User data for chunk callback routine */ } H5D_btree_it_ud_t; /* B-tree callback info for debugging */ typedef struct H5D_btree_dbg_t { - H5D_chunk_common_ud_t common; /* Common info for B-tree user data (must be first) */ - unsigned ndims; /* Number of dimensions */ + H5D_chunk_common_ud_t common; /* Common info for B-tree user data (must be first) */ + unsigned ndims; /* Number of dimensions */ } H5D_btree_dbg_t; - /********************/ /* Local Prototypes */ /********************/ static herr_t H5D__btree_shared_free(void *_shared); static herr_t H5D__btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, - const H5O_layout_chunk_t *layout); + const H5O_layout_chunk_t *layout); /* B-tree iterator callbacks */ -static int H5D__btree_idx_iterate_cb(H5F_t *f, const void *left_key, - haddr_t addr, const void *right_key, void *_udata); +static int H5D__btree_idx_iterate_cb(H5F_t *f, const void *left_key, haddr_t addr, const void *right_key, + void *_udata); /* B-tree callbacks */ -static H5UC_t *H5D__btree_get_shared(const H5F_t *f, const void *_udata); -static herr_t H5D__btree_new_node(H5F_t *f, H5B_ins_t, void *_lt_key, - void *_udata, void *_rt_key, haddr_t *addr_p /*out*/); -static int H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key); -static int H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key); -static htri_t H5D__btree_found(H5F_t *f, haddr_t addr, - const void *_lt_key, void *_udata); -static H5B_ins_t H5D__btree_insert(H5F_t *f, haddr_t addr, - void *_lt_key, hbool_t *lt_key_changed, void *_md_key, void *_udata, - void *_rt_key, hbool_t *rt_key_changed, haddr_t *new_node/*out*/); -static H5B_ins_t H5D__btree_remove( H5F_t *f, haddr_t addr, void *_lt_key, - hbool_t *lt_key_changed, void *_udata, void *_rt_key, hbool_t *rt_key_changed); -static herr_t H5D__btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, - void *_key); -static herr_t H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, - const void *_key); -static herr_t H5D__btree_debug_key(FILE *stream, int indent, int fwidth, - const void *key, const void *udata); +static H5UC_t * H5D__btree_get_shared(const H5F_t *f, const void *_udata); +static herr_t H5D__btree_new_node(H5F_t *f, H5B_ins_t, void *_lt_key, void *_udata, void *_rt_key, + haddr_t *addr_p /*out*/); +static int H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key); +static int H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key); +static htri_t H5D__btree_found(H5F_t *f, haddr_t addr, const void *_lt_key, void *_udata); +static H5B_ins_t H5D__btree_insert(H5F_t *f, haddr_t addr, void *_lt_key, hbool_t *lt_key_changed, + void *_md_key, void *_udata, void *_rt_key, hbool_t *rt_key_changed, + haddr_t *new_node /*out*/); +static H5B_ins_t H5D__btree_remove(H5F_t *f, haddr_t addr, void *_lt_key, hbool_t *lt_key_changed, + void *_udata, void *_rt_key, hbool_t *rt_key_changed); +static herr_t H5D__btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key); +static herr_t H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key); +static herr_t H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *key, const void *udata); /* Chunked layout indexing callbacks */ -static herr_t H5D__btree_idx_init(const H5D_chk_idx_info_t *idx_info, - const H5S_t *space, haddr_t dset_ohdr_addr); -static herr_t H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info); +static herr_t H5D__btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t *space, + haddr_t dset_ohdr_addr); +static herr_t H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info); static hbool_t H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage); -static herr_t H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, - H5D_chunk_ud_t *udata, const H5D_t *dset); -static herr_t H5D__btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, - H5D_chunk_ud_t *udata); -static int H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, - H5D_chunk_cb_func_t chunk_cb, void *chunk_udata); -static herr_t H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, - H5D_chunk_common_ud_t *udata); -static herr_t H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info); -static herr_t H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, - const H5D_chk_idx_info_t *idx_info_dst); -static herr_t H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, - H5O_storage_chunk_t *storage_dst); -static herr_t H5D__btree_idx_size(const H5D_chk_idx_info_t *idx_info, - hsize_t *size); -static herr_t H5D__btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr); -static herr_t H5D__btree_idx_dump(const H5O_storage_chunk_t *storage, - FILE *stream); -static herr_t H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info); - +static herr_t H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, + const H5D_t *dset); +static herr_t H5D__btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata); +static int H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, H5D_chunk_cb_func_t chunk_cb, + void *chunk_udata); +static herr_t H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata); +static herr_t H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info); +static herr_t H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, + const H5D_chk_idx_info_t *idx_info_dst); +static herr_t H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, + H5O_storage_chunk_t *storage_dst); +static herr_t H5D__btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *size); +static herr_t H5D__btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr); +static herr_t H5D__btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream); +static herr_t H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info); /*********************/ /* Package Variables */ @@ -151,49 +139,47 @@ static herr_t H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info); /* v1 B-tree indexed chunk I/O ops */ const H5D_chunk_ops_t H5D_COPS_BTREE[1] = {{ - FALSE, /* v1 B-tree indices does not support SWMR access */ - H5D__btree_idx_init, /* insert */ - H5D__btree_idx_create, /* create */ - H5D__btree_idx_is_space_alloc, /* is_space_alloc */ - H5D__btree_idx_insert, /* insert */ - H5D__btree_idx_get_addr, /* get_addr */ - NULL, /* resize */ - H5D__btree_idx_iterate, /* iterate */ - H5D__btree_idx_remove, /* remove */ - H5D__btree_idx_delete, /* delete */ - H5D__btree_idx_copy_setup, /* copy_setup */ - H5D__btree_idx_copy_shutdown, /* copy_shutdown */ - H5D__btree_idx_size, /* size */ - H5D__btree_idx_reset, /* reset */ - H5D__btree_idx_dump, /* dump */ - H5D__btree_idx_dest /* destroy */ + FALSE, /* v1 B-tree indices does not support SWMR access */ + H5D__btree_idx_init, /* insert */ + H5D__btree_idx_create, /* create */ + H5D__btree_idx_is_space_alloc, /* is_space_alloc */ + H5D__btree_idx_insert, /* insert */ + H5D__btree_idx_get_addr, /* get_addr */ + NULL, /* resize */ + H5D__btree_idx_iterate, /* iterate */ + H5D__btree_idx_remove, /* remove */ + H5D__btree_idx_delete, /* delete */ + H5D__btree_idx_copy_setup, /* copy_setup */ + H5D__btree_idx_copy_shutdown, /* copy_shutdown */ + H5D__btree_idx_size, /* size */ + H5D__btree_idx_reset, /* reset */ + H5D__btree_idx_dump, /* dump */ + H5D__btree_idx_dest /* destroy */ }}; - /*****************************/ /* Library Private Variables */ /*****************************/ /* inherits B-tree like properties from H5B */ H5B_class_t H5B_BTREE[1] = {{ - H5B_CHUNK_ID, /*id */ - sizeof(H5D_btree_key_t), /*sizeof_nkey */ - H5D__btree_get_shared, /*get_shared */ - H5D__btree_new_node, /*new */ - H5D__btree_cmp2, /*cmp2 */ - H5D__btree_cmp3, /*cmp3 */ - H5D__btree_found, /*found */ - H5D__btree_insert, /*insert */ - FALSE, /*follow min branch? */ - FALSE, /*follow max branch? */ - H5B_LEFT, /*critical key */ - H5D__btree_remove, /*remove */ - H5D__btree_decode_key, /*decode */ - H5D__btree_encode_key, /*encode */ - H5D__btree_debug_key /*debug */ + H5B_CHUNK_ID, /*id */ + sizeof(H5D_btree_key_t), /*sizeof_nkey */ + H5D__btree_get_shared, /*get_shared */ + H5D__btree_new_node, /*new */ + H5D__btree_cmp2, /*cmp2 */ + H5D__btree_cmp3, /*cmp3 */ + H5D__btree_found, /*found */ + H5D__btree_insert, /*insert */ + FALSE, /*follow min branch? */ + FALSE, /*follow max branch? */ + H5B_LEFT, /*critical key */ + H5D__btree_remove, /*remove */ + H5D__btree_decode_key, /*decode */ + H5D__btree_encode_key, /*encode */ + H5D__btree_debug_key /*debug */ }}; - /*******************/ /* Local Variables */ /*******************/ @@ -201,8 +187,6 @@ H5B_class_t H5B_BTREE[1] = {{ /* Declare a free list to manage H5O_layout_chunk_t objects */ H5FL_DEFINE_STATIC(H5O_layout_chunk_t); - - /*------------------------------------------------------------------------- * Function: H5D__btree_get_shared * @@ -220,7 +204,7 @@ H5FL_DEFINE_STATIC(H5O_layout_chunk_t); static H5UC_t * H5D__btree_get_shared(const H5F_t H5_ATTR_UNUSED *f, const void *_udata) { - const H5D_chunk_common_ud_t *udata = (const H5D_chunk_common_ud_t *) _udata; + const H5D_chunk_common_ud_t *udata = (const H5D_chunk_common_ud_t *)_udata; FUNC_ENTER_STATIC_NOERR @@ -233,7 +217,6 @@ H5D__btree_get_shared(const H5F_t H5_ATTR_UNUSED *f, const void *_udata) FUNC_LEAVE_NOAPI(udata->storage->u.btree.shared) } /* end H5D__btree_get_shared() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_new_node * @@ -253,14 +236,14 @@ H5D__btree_get_shared(const H5F_t H5_ATTR_UNUSED *f, const void *_udata) *------------------------------------------------------------------------- */ static herr_t -H5D__btree_new_node(H5F_t H5_ATTR_NDEBUG_UNUSED *f, H5B_ins_t op, void *_lt_key, void *_udata, - void *_rt_key, haddr_t *addr_p/*out*/) +H5D__btree_new_node(H5F_t H5_ATTR_NDEBUG_UNUSED *f, H5B_ins_t op, void *_lt_key, void *_udata, void *_rt_key, + haddr_t *addr_p /*out*/) { - H5D_btree_key_t *lt_key = (H5D_btree_key_t *) _lt_key; - H5D_btree_key_t *rt_key = (H5D_btree_key_t *) _rt_key; - H5D_chunk_ud_t *udata = (H5D_chunk_ud_t *) _udata; - unsigned u; - herr_t ret_value = SUCCEED; /* Return value */ + H5D_btree_key_t *lt_key = (H5D_btree_key_t *)_lt_key; + H5D_btree_key_t *rt_key = (H5D_btree_key_t *)_rt_key; + H5D_chunk_ud_t * udata = (H5D_chunk_ud_t *)_udata; + unsigned u; + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -283,26 +266,25 @@ H5D__btree_new_node(H5F_t H5_ATTR_NDEBUG_UNUSED *f, H5B_ins_t op, void *_lt_key, */ H5_CHECKED_ASSIGN(lt_key->nbytes, uint32_t, udata->chunk_block.length, hsize_t); lt_key->filter_mask = udata->filter_mask; - for(u = 0; u < udata->common.layout->ndims; u++) + for (u = 0; u < udata->common.layout->ndims; u++) lt_key->scaled[u] = udata->common.scaled[u]; /* * The right key might already be present. If not, then add a zero-width * chunk. */ - if(H5B_INS_LEFT != op) { - rt_key->nbytes = 0; + if (H5B_INS_LEFT != op) { + rt_key->nbytes = 0; rt_key->filter_mask = 0; - for(u = 0; u < udata->common.layout->ndims; u++) { + for (u = 0; u < udata->common.layout->ndims; u++) { HDassert(udata->common.scaled[u] + 1 > udata->common.scaled[u]); rt_key->scaled[u] = udata->common.scaled[u] + 1; } /* end if */ - } /* end if */ + } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_new_node() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_cmp2 * @@ -325,10 +307,10 @@ H5D__btree_new_node(H5F_t H5_ATTR_NDEBUG_UNUSED *f, H5B_ins_t op, void *_lt_key, static int H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) { - H5D_btree_key_t *lt_key = (H5D_btree_key_t *) _lt_key; - H5D_btree_key_t *rt_key = (H5D_btree_key_t *) _rt_key; - H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *) _udata; - int ret_value = -1; /* Return value */ + H5D_btree_key_t * lt_key = (H5D_btree_key_t *)_lt_key; + H5D_btree_key_t * rt_key = (H5D_btree_key_t *)_rt_key; + H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *)_udata; + int ret_value = -1; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -343,7 +325,6 @@ H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_cmp2() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_cmp3 * @@ -374,10 +355,10 @@ H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key) static int H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) { - H5D_btree_key_t *lt_key = (H5D_btree_key_t *) _lt_key; - H5D_btree_key_t *rt_key = (H5D_btree_key_t *) _rt_key; - H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *) _udata; - int ret_value = 0; + H5D_btree_key_t * lt_key = (H5D_btree_key_t *)_lt_key; + H5D_btree_key_t * rt_key = (H5D_btree_key_t *)_rt_key; + H5D_chunk_common_ud_t *udata = (H5D_chunk_common_ud_t *)_udata; + int ret_value = 0; FUNC_ENTER_STATIC_NOERR @@ -392,26 +373,24 @@ H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) /* slightly odd way the library initializes the right-most node in the */ /* indexed storage B-tree... */ /* (Dump the B-tree with h5debug to look at it) -QAK */ - if(udata->layout->ndims == 2) { - if(udata->scaled[0] > rt_key->scaled[0]) + if (udata->layout->ndims == 2) { + if (udata->scaled[0] > rt_key->scaled[0]) ret_value = 1; - else if(udata->scaled[0] == rt_key->scaled[0] && - udata->scaled[1] >= rt_key->scaled[1]) + else if (udata->scaled[0] == rt_key->scaled[0] && udata->scaled[1] >= rt_key->scaled[1]) ret_value = 1; - else if(udata->scaled[0] < lt_key->scaled[0]) + else if (udata->scaled[0] < lt_key->scaled[0]) ret_value = (-1); } /* end if */ else { - if(H5VM_vector_ge_u(udata->layout->ndims, udata->scaled, rt_key->scaled)) + if (H5VM_vector_ge_u(udata->layout->ndims, udata->scaled, rt_key->scaled)) ret_value = 1; - else if(H5VM_vector_lt_u(udata->layout->ndims, udata->scaled, lt_key->scaled)) + else if (H5VM_vector_lt_u(udata->layout->ndims, udata->scaled, lt_key->scaled)) ret_value = (-1); } /* end else */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_cmp3() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_found * @@ -437,13 +416,12 @@ H5D__btree_cmp3(void *_lt_key, void *_udata, void *_rt_key) *------------------------------------------------------------------------- */ static htri_t -H5D__btree_found(H5F_t H5_ATTR_UNUSED *f, haddr_t addr, const void *_lt_key, - void *_udata) +H5D__btree_found(H5F_t H5_ATTR_UNUSED *f, haddr_t addr, const void *_lt_key, void *_udata) { - H5D_chunk_ud_t *udata = (H5D_chunk_ud_t *) _udata; - const H5D_btree_key_t *lt_key = (const H5D_btree_key_t *) _lt_key; - unsigned u; - htri_t ret_value = TRUE; /* Return value */ + H5D_chunk_ud_t * udata = (H5D_chunk_ud_t *)_udata; + const H5D_btree_key_t *lt_key = (const H5D_btree_key_t *)_lt_key; + unsigned u; + htri_t ret_value = TRUE; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -454,21 +432,20 @@ H5D__btree_found(H5F_t H5_ATTR_UNUSED *f, haddr_t addr, const void *_lt_key, HDassert(lt_key); /* Is this *really* the requested chunk? */ - for(u = 0; u < udata->common.layout->ndims; u++) - if(udata->common.scaled[u] >= (lt_key->scaled[u] + 1)) + for (u = 0; u < udata->common.layout->ndims; u++) + if (udata->common.scaled[u] >= (lt_key->scaled[u] + 1)) HGOTO_DONE(FALSE) /* Initialize return values */ HDassert(lt_key->nbytes > 0); udata->chunk_block.offset = addr; udata->chunk_block.length = lt_key->nbytes; - udata->filter_mask = lt_key->filter_mask; + udata->filter_mask = lt_key->filter_mask; done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_found() */ - /*------------------------------------------------------------------------- * Function: H5D__chunk_disjoint * @@ -487,8 +464,8 @@ done: static hbool_t H5D__chunk_disjoint(unsigned n, const hsize_t *scaled1, const hsize_t *scaled2) { - unsigned u; /* Local index variable */ - hbool_t ret_value = FALSE; /* Return value */ + unsigned u; /* Local index variable */ + hbool_t ret_value = FALSE; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -498,15 +475,14 @@ H5D__chunk_disjoint(unsigned n, const hsize_t *scaled1, const hsize_t *scaled2) HDassert(scaled2); /* Loop over two chunks, detecting disjointness and getting out quickly */ - for(u = 0; u < n; u++) - if((scaled1[u] + 1) <= scaled2[u] || (scaled2[u] + 1) <= scaled1[u]) + for (u = 0; u < n; u++) + if ((scaled1[u] + 1) <= scaled2[u] || (scaled2[u] + 1) <= scaled1[u]) HGOTO_DONE(TRUE) done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__chunk_disjoint() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_insert * @@ -536,17 +512,17 @@ done: *------------------------------------------------------------------------- */ static H5B_ins_t -H5D__btree_insert(H5F_t H5_ATTR_NDEBUG_UNUSED *f, haddr_t H5_ATTR_NDEBUG_UNUSED addr, void *_lt_key, hbool_t *lt_key_changed, - void *_md_key, void *_udata, void *_rt_key, hbool_t H5_ATTR_UNUSED *rt_key_changed, - haddr_t *new_node_p/*out*/) +H5D__btree_insert(H5F_t H5_ATTR_NDEBUG_UNUSED *f, haddr_t H5_ATTR_NDEBUG_UNUSED addr, void *_lt_key, + hbool_t *lt_key_changed, void *_md_key, void *_udata, void *_rt_key, + hbool_t H5_ATTR_UNUSED *rt_key_changed, haddr_t *new_node_p /*out*/) { - H5D_btree_key_t *lt_key = (H5D_btree_key_t *) _lt_key; - H5D_btree_key_t *md_key = (H5D_btree_key_t *) _md_key; - H5D_btree_key_t *rt_key = (H5D_btree_key_t *) _rt_key; - H5D_chunk_ud_t *udata = (H5D_chunk_ud_t *) _udata; - int cmp; - unsigned u; - H5B_ins_t ret_value = H5B_INS_ERROR; /* Return value */ + H5D_btree_key_t *lt_key = (H5D_btree_key_t *)_lt_key; + H5D_btree_key_t *md_key = (H5D_btree_key_t *)_md_key; + H5D_btree_key_t *rt_key = (H5D_btree_key_t *)_rt_key; + H5D_chunk_ud_t * udata = (H5D_chunk_ud_t *)_udata; + int cmp; + unsigned u; + H5B_ins_t ret_value = H5B_INS_ERROR; /* Return value */ FUNC_ENTER_STATIC @@ -563,48 +539,47 @@ H5D__btree_insert(H5F_t H5_ATTR_NDEBUG_UNUSED *f, haddr_t H5_ATTR_NDEBUG_UNUSED cmp = H5D__btree_cmp3(lt_key, udata, rt_key); HDassert(cmp <= 0); - if(cmp < 0) { + if (cmp < 0) { /* Negative indices not supported yet */ HGOTO_ERROR(H5E_STORAGE, H5E_UNSUPPORTED, H5B_INS_ERROR, "internal error") - - } else if(H5VM_vector_eq_u(udata->common.layout->ndims, - udata->common.scaled, lt_key->scaled) && lt_key->nbytes > 0) { + } + else if (H5VM_vector_eq_u(udata->common.layout->ndims, udata->common.scaled, lt_key->scaled) && + lt_key->nbytes > 0) { /* * Already exists. If the new size is not the same as the old size * then we should reallocate storage. */ - if(lt_key->nbytes != udata->chunk_block.length) { - /* Set node's address (already re-allocated by main chunk routines) */ - HDassert(H5F_addr_defined(udata->chunk_block.offset)); + if (lt_key->nbytes != udata->chunk_block.length) { + /* Set node's address (already re-allocated by main chunk routines) */ + HDassert(H5F_addr_defined(udata->chunk_block.offset)); *new_node_p = udata->chunk_block.offset; H5_CHECKED_ASSIGN(lt_key->nbytes, uint32_t, udata->chunk_block.length, hsize_t); lt_key->filter_mask = udata->filter_mask; - *lt_key_changed = TRUE; - ret_value = H5B_INS_CHANGE; - } else { - /* Already have address in udata, from main chunk routines */ - HDassert(H5F_addr_defined(udata->chunk_block.offset)); + *lt_key_changed = TRUE; + ret_value = H5B_INS_CHANGE; + } + else { + /* Already have address in udata, from main chunk routines */ + HDassert(H5F_addr_defined(udata->chunk_block.offset)); ret_value = H5B_INS_NOOP; } - - } else if (H5D__chunk_disjoint(udata->common.layout->ndims, - lt_key->scaled, udata->common.scaled)) { - HDassert(H5D__chunk_disjoint(udata->common.layout->ndims, - rt_key->scaled, udata->common.scaled)); + } + else if (H5D__chunk_disjoint(udata->common.layout->ndims, lt_key->scaled, udata->common.scaled)) { + HDassert(H5D__chunk_disjoint(udata->common.layout->ndims, rt_key->scaled, udata->common.scaled)); /* * Split this node, inserting the new new node to the right of the * current node. The MD_KEY is where the split occurs. */ H5_CHECKED_ASSIGN(md_key->nbytes, uint32_t, udata->chunk_block.length, hsize_t); md_key->filter_mask = udata->filter_mask; - for(u = 0; u < udata->common.layout->ndims; u++) + for (u = 0; u < udata->common.layout->ndims; u++) md_key->scaled[u] = udata->common.scaled[u]; - HDassert(H5F_addr_defined(udata->chunk_block.offset)); + HDassert(H5F_addr_defined(udata->chunk_block.offset)); *new_node_p = udata->chunk_block.offset; - ret_value = H5B_INS_RIGHT; - - } else { + ret_value = H5B_INS_RIGHT; + } + else { HGOTO_ERROR(H5E_IO, H5E_UNSUPPORTED, H5B_INS_ERROR, "internal error") } @@ -612,7 +587,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_insert() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_remove * @@ -626,21 +600,19 @@ done: *------------------------------------------------------------------------- */ static H5B_ins_t -H5D__btree_remove(H5F_t *f, haddr_t addr, void *_lt_key /*in,out */ , - hbool_t *lt_key_changed /*out */ , - void H5_ATTR_UNUSED * _udata /*in,out */ , - void H5_ATTR_UNUSED * _rt_key /*in,out */ , - hbool_t *rt_key_changed /*out */ ) +H5D__btree_remove(H5F_t *f, haddr_t addr, void *_lt_key /*in,out */, hbool_t *lt_key_changed /*out */, + void H5_ATTR_UNUSED *_udata /*in,out */, void H5_ATTR_UNUSED *_rt_key /*in,out */, + hbool_t *rt_key_changed /*out */) { - H5D_btree_key_t *lt_key = (H5D_btree_key_t *)_lt_key; - H5B_ins_t ret_value=H5B_INS_REMOVE; /* Return value */ + H5D_btree_key_t *lt_key = (H5D_btree_key_t *)_lt_key; + H5B_ins_t ret_value = H5B_INS_REMOVE; /* Return value */ FUNC_ENTER_STATIC /* Remove raw data chunk from file */ H5_CHECK_OVERFLOW(lt_key->nbytes, uint32_t, hsize_t); - if(H5MF_xfree(f, H5FD_MEM_DRAW, addr, (hsize_t)lt_key->nbytes) < 0) - HGOTO_ERROR(H5E_STORAGE, H5E_CANTFREE, H5B_INS_ERROR, "unable to free chunk") + if (H5MF_xfree(f, H5FD_MEM_DRAW, addr, (hsize_t)lt_key->nbytes) < 0) + HGOTO_ERROR(H5E_STORAGE, H5E_CANTFREE, H5B_INS_ERROR, "unable to free chunk") /* Mark keys as unchanged */ *lt_key_changed = FALSE; @@ -650,7 +622,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_remove() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_decode_key * @@ -666,11 +637,11 @@ done: static herr_t H5D__btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key) { - const H5O_layout_chunk_t *layout; /* Chunk layout description */ - H5D_btree_key_t *key = (H5D_btree_key_t *) _key; /* Pointer to decoded key */ - hsize_t tmp_offset; /* Temporary coordinate offset, from file */ - unsigned u; /* Local index variable */ - herr_t ret_value = SUCCEED; /* Return value */ + const H5O_layout_chunk_t *layout; /* Chunk layout description */ + H5D_btree_key_t * key = (H5D_btree_key_t *)_key; /* Pointer to decoded key */ + hsize_t tmp_offset; /* Temporary coordinate offset, from file */ + unsigned u; /* Local index variable */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -685,8 +656,8 @@ H5D__btree_decode_key(const H5B_shared_t *shared, const uint8_t *raw, void *_key /* decode */ UINT32DECODE(raw, key->nbytes); UINT32DECODE(raw, key->filter_mask); - for(u = 0; u < layout->ndims; u++) { - if(layout->dim[u] == 0) + for (u = 0; u < layout->ndims; u++) { + if (layout->dim[u] == 0) HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "chunk size must be > 0, dim = %u ", u) /* Retrieve coordinate offset */ @@ -701,7 +672,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_decode_key() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_encode_key * @@ -717,10 +687,10 @@ done: static herr_t H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key) { - const H5O_layout_chunk_t *layout; /* Chunk layout description */ - const H5D_btree_key_t *key = (const H5D_btree_key_t *)_key; - hsize_t tmp_offset; /* Temporary coordinate offset, from file */ - unsigned u; /* Local index variable */ + const H5O_layout_chunk_t *layout; /* Chunk layout description */ + const H5D_btree_key_t * key = (const H5D_btree_key_t *)_key; + hsize_t tmp_offset; /* Temporary coordinate offset, from file */ + unsigned u; /* Local index variable */ FUNC_ENTER_STATIC_NOERR @@ -735,16 +705,15 @@ H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key /* encode */ UINT32ENCODE(raw, key->nbytes); UINT32ENCODE(raw, key->filter_mask); - for(u = 0; u < layout->ndims; u++) { + for (u = 0; u < layout->ndims; u++) { /* Compute coordinate offset from scaled offset */ tmp_offset = key->scaled[u] * layout->dim[u]; - UINT64ENCODE(raw, tmp_offset); + UINT64ENCODE(raw, tmp_offset); } /* end for */ FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5D__btree_encode_key() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_debug_key * @@ -758,12 +727,11 @@ H5D__btree_encode_key(const H5B_shared_t *shared, uint8_t *raw, const void *_key *------------------------------------------------------------------------- */ static herr_t -H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, - const void *_udata) +H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, const void *_udata) { - const H5D_btree_key_t *key = (const H5D_btree_key_t *)_key; - const H5D_btree_dbg_t *udata = (const H5D_btree_dbg_t *)_udata; - unsigned u; + const H5D_btree_key_t *key = (const H5D_btree_key_t *)_key; + const H5D_btree_dbg_t *udata = (const H5D_btree_dbg_t *)_udata; + unsigned u; FUNC_ENTER_STATIC_NOERR @@ -772,14 +740,13 @@ H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, HDfprintf(stream, "%*s%-*s %u bytes\n", indent, "", fwidth, "Chunk size:", (unsigned)key->nbytes); HDfprintf(stream, "%*s%-*s 0x%08x\n", indent, "", fwidth, "Filter mask:", key->filter_mask); HDfprintf(stream, "%*s%-*s {", indent, "", fwidth, "Logical offset:"); - for(u = 0; u < udata->ndims; u++) - HDfprintf(stream, "%s%Hd", u?", ":"", (key->scaled[u] * udata->common.layout->dim[u])); + for (u = 0; u < udata->ndims; u++) + HDfprintf(stream, "%s%Hd", u ? ", " : "", (key->scaled[u] * udata->common.layout->dim[u])); HDfputs("}\n", stream); FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5D__btree_debug_key() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_shared_free * @@ -795,8 +762,8 @@ H5D__btree_debug_key(FILE *stream, int indent, int fwidth, const void *_key, static herr_t H5D__btree_shared_free(void *_shared) { - H5B_shared_t *shared = (H5B_shared_t *)_shared; - herr_t ret_value = SUCCEED; /* Return value */ + H5B_shared_t *shared = (H5B_shared_t *)_shared; + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -804,14 +771,13 @@ H5D__btree_shared_free(void *_shared) shared->udata = H5FL_FREE(H5O_layout_chunk_t, shared->udata); /* Chain up to the generic B-tree shared info free routine */ - if(H5B_shared_free(shared) < 0) + if (H5B_shared_free(shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "can't free shared B-tree info") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_shared_free() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_shared_create * @@ -825,44 +791,42 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D__btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, - const H5O_layout_chunk_t *layout) +H5D__btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, const H5O_layout_chunk_t *layout) { - H5B_shared_t *shared; /* Shared B-tree node info */ - H5O_layout_chunk_t *my_layout = NULL; /* Pointer to copy of layout info */ - size_t sizeof_rkey; /* Size of raw (disk) key */ - herr_t ret_value = SUCCEED; /* Return value */ + H5B_shared_t * shared; /* Shared B-tree node info */ + H5O_layout_chunk_t *my_layout = NULL; /* Pointer to copy of layout info */ + size_t sizeof_rkey; /* Size of raw (disk) key */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC /* Set the raw key size */ - sizeof_rkey = 4 + /*storage size */ - 4 + /*filter mask */ - layout->ndims * 8; /*dimension indices */ + sizeof_rkey = 4 + /*storage size */ + 4 + /*filter mask */ + layout->ndims * 8; /*dimension indices */ /* Allocate & initialize global info for the shared structure */ - if(NULL == (shared = H5B_shared_new(f, H5B_BTREE, sizeof_rkey))) - HGOTO_ERROR(H5E_DATASET, H5E_NOSPACE, FAIL, "memory allocation failed for shared B-tree info") + if (NULL == (shared = H5B_shared_new(f, H5B_BTREE, sizeof_rkey))) + HGOTO_ERROR(H5E_DATASET, H5E_NOSPACE, FAIL, "memory allocation failed for shared B-tree info") /* Set up the "local" information for this dataset's chunks */ - if(NULL == (my_layout = H5FL_MALLOC(H5O_layout_chunk_t))) + if (NULL == (my_layout = H5FL_MALLOC(H5O_layout_chunk_t))) HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate chunk layout") H5MM_memcpy(my_layout, layout, sizeof(H5O_layout_chunk_t)); shared->udata = my_layout; /* Make shared B-tree info reference counted */ - if(NULL == (store->u.btree.shared = H5UC_create(shared, H5D__btree_shared_free))) - HGOTO_ERROR(H5E_DATASET, H5E_NOSPACE, FAIL, "can't create ref-count wrapper for shared B-tree info") + if (NULL == (store->u.btree.shared = H5UC_create(shared, H5D__btree_shared_free))) + HGOTO_ERROR(H5E_DATASET, H5E_NOSPACE, FAIL, "can't create ref-count wrapper for shared B-tree info") done: - if(ret_value < 0) - if(my_layout) + if (ret_value < 0) + if (my_layout) my_layout = H5FL_FREE(H5O_layout_chunk_t, my_layout); FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_shared_create() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_init * @@ -877,9 +841,9 @@ done: */ static herr_t H5D__btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t H5_ATTR_UNUSED *space, - haddr_t dset_ohdr_addr) + haddr_t dset_ohdr_addr) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -894,14 +858,13 @@ H5D__btree_idx_init(const H5D_chk_idx_info_t *idx_info, const H5S_t H5_ATTR_UNUS idx_info->storage->u.btree.dset_ohdr_addr = dset_ohdr_addr; /* Allocate the shared structure */ - if(H5D__btree_shared_create(idx_info->f, idx_info->storage, idx_info->layout) < 0) - HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") + if (H5D__btree_shared_create(idx_info->f, idx_info->storage, idx_info->layout) < 0) + HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_init() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_create * @@ -923,8 +886,8 @@ done: static herr_t H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info) { - H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ - herr_t ret_value = SUCCEED; /* Return value */ + H5D_chunk_common_ud_t udata; /* User data for B-tree callback */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -937,18 +900,17 @@ H5D__btree_idx_create(const H5D_chk_idx_info_t *idx_info) HDassert(!H5F_addr_defined(idx_info->storage->idx_addr)); /* Initialize "user" data for B-tree callbacks, etc. */ - udata.layout = idx_info->layout; + udata.layout = idx_info->layout; udata.storage = idx_info->storage; /* Create the v1 B-tree for the chunk index */ - if(H5B_create(idx_info->f, H5B_BTREE, &udata, &(idx_info->storage->idx_addr)/*out*/) < 0) + if (H5B_create(idx_info->f, H5B_BTREE, &udata, &(idx_info->storage->idx_addr) /*out*/) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't create B-tree") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_create() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_is_space_alloc * @@ -972,7 +934,6 @@ H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) FUNC_LEAVE_NOAPI((hbool_t)H5F_addr_defined(storage->idx_addr)) } /* end H5D__btree_idx_is_space_alloc() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_insert * @@ -987,9 +948,9 @@ H5D__btree_idx_is_space_alloc(const H5O_storage_chunk_t *storage) */ static herr_t H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, - const H5D_t H5_ATTR_UNUSED *dset) + const H5D_t H5_ATTR_UNUSED *dset) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1005,14 +966,13 @@ H5D__btree_idx_insert(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata, * Create the chunk it if it doesn't exist, or reallocate the chunk if * its size changed. */ - if(H5B_insert(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, udata) < 0) + if (H5B_insert(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, udata) < 0) HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "unable to allocate chunk") done: FUNC_LEAVE_NOAPI(ret_value) } /* H5D__btree_idx_insert() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_get_addr * @@ -1030,7 +990,7 @@ done: static herr_t H5D__btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udata) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1044,14 +1004,13 @@ H5D__btree_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *udat HDassert(udata); /* Go get the chunk information from the B-tree */ - if(H5B_find(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, udata) < 0) + if (H5B_find(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get chunk info") done: FUNC_LEAVE_NOAPI(ret_value) } /* H5D__btree_idx_get_addr() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_iterate_cb * @@ -1068,13 +1027,13 @@ done: *------------------------------------------------------------------------- */ static int -H5D__btree_idx_iterate_cb(H5F_t H5_ATTR_UNUSED *f, const void *_lt_key, - haddr_t addr, const void H5_ATTR_UNUSED *_rt_key, void *_udata) +H5D__btree_idx_iterate_cb(H5F_t H5_ATTR_UNUSED *f, const void *_lt_key, haddr_t addr, + const void H5_ATTR_UNUSED *_rt_key, void *_udata) { - H5D_btree_it_ud_t *udata = (H5D_btree_it_ud_t *)_udata; /* User data */ - const H5D_btree_key_t *lt_key = (const H5D_btree_key_t *)_lt_key; /* B-tree key for chunk */ - H5D_chunk_rec_t chunk_rec; /* Generic chunk record for callback */ - int ret_value = -1; /* Return value */ + H5D_btree_it_ud_t * udata = (H5D_btree_it_ud_t *)_udata; /* User data */ + const H5D_btree_key_t *lt_key = (const H5D_btree_key_t *)_lt_key; /* B-tree key for chunk */ + H5D_chunk_rec_t chunk_rec; /* Generic chunk record for callback */ + int ret_value = -1; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -1091,13 +1050,12 @@ H5D__btree_idx_iterate_cb(H5F_t H5_ATTR_UNUSED *f, const void *_lt_key, chunk_rec.chunk_addr = addr; /* Make "generic chunk" callback */ - if((ret_value = (udata->cb)(&chunk_rec, udata->udata)) < 0) + if ((ret_value = (udata->cb)(&chunk_rec, udata->udata)) < 0) HERROR(H5E_DATASET, H5E_CALLBACK, "failure in generic chunk iterator callback"); FUNC_LEAVE_NOAPI(ret_value) } /* H5D__btree_idx_iterate_cb() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_iterate * @@ -1112,11 +1070,10 @@ H5D__btree_idx_iterate_cb(H5F_t H5_ATTR_UNUSED *f, const void *_lt_key, *------------------------------------------------------------------------- */ static int -H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, - H5D_chunk_cb_func_t chunk_cb, void *chunk_udata) +H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, H5D_chunk_cb_func_t chunk_cb, void *chunk_udata) { - H5D_btree_it_ud_t udata; /* User data for B-tree iterator callback */ - int ret_value = -1; /* Return value */ + H5D_btree_it_ud_t udata; /* User data for B-tree iterator callback */ + int ret_value = -1; /* Return value */ FUNC_ENTER_STATIC_NOERR @@ -1131,19 +1088,19 @@ H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, /* Initialize userdata */ HDmemset(&udata, 0, sizeof udata); - udata.common.layout = idx_info->layout; + udata.common.layout = idx_info->layout; udata.common.storage = idx_info->storage; - udata.cb = chunk_cb; - udata.udata = chunk_udata; + udata.cb = chunk_cb; + udata.udata = chunk_udata; /* Iterate over existing chunks */ - if((ret_value = H5B_iterate(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, H5D__btree_idx_iterate_cb, &udata)) < 0) + if ((ret_value = H5B_iterate(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, + H5D__btree_idx_iterate_cb, &udata)) < 0) HERROR(H5E_DATASET, H5E_BADITER, "unable to iterate over chunk B-tree"); FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_iterate() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_remove * @@ -1159,7 +1116,7 @@ H5D__btree_idx_iterate(const H5D_chk_idx_info_t *idx_info, static herr_t H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t *udata) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1174,14 +1131,13 @@ H5D__btree_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t /* Remove the chunk from the v1 B-tree index and release the space for the * chunk (in the B-tree callback). */ - if(H5B_remove(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, udata) < 0) + if (H5B_remove(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDELETE, FAIL, "unable to remove chunk entry") done: FUNC_LEAVE_NOAPI(ret_value) } /* H5D__btree_idx_remove() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_delete * @@ -1199,7 +1155,7 @@ done: static herr_t H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1211,30 +1167,30 @@ H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info) HDassert(idx_info->storage); /* Check if the index data structure has been allocated */ - if(H5F_addr_defined(idx_info->storage->idx_addr)) { - H5O_storage_chunk_t tmp_storage; /* Local copy of storage info */ - H5D_chunk_common_ud_t udata; /* User data for B-tree operations */ + if (H5F_addr_defined(idx_info->storage->idx_addr)) { + H5O_storage_chunk_t tmp_storage; /* Local copy of storage info */ + H5D_chunk_common_ud_t udata; /* User data for B-tree operations */ /* Set up temporary chunked storage info */ tmp_storage = *idx_info->storage; /* Set up the shared structure */ - if(H5D__btree_shared_create(idx_info->f, &tmp_storage, idx_info->layout) < 0) + if (H5D__btree_shared_create(idx_info->f, &tmp_storage, idx_info->layout) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") /* Set up B-tree user data */ HDmemset(&udata, 0, sizeof udata); - udata.layout = idx_info->layout; + udata.layout = idx_info->layout; udata.storage = &tmp_storage; /* Delete entire B-tree */ - if(H5B_delete(idx_info->f, H5B_BTREE, tmp_storage.idx_addr, &udata) < 0) + if (H5B_delete(idx_info->f, H5B_BTREE, tmp_storage.idx_addr, &udata) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDELETE, FAIL, "unable to delete chunk B-tree") /* Release the shared B-tree page */ - if(NULL == tmp_storage.u.btree.shared) + if (NULL == tmp_storage.u.btree.shared) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "ref-counted page nil") - if(H5UC_DEC(tmp_storage.u.btree.shared) < 0) + if (H5UC_DEC(tmp_storage.u.btree.shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") } /* end if */ @@ -1242,7 +1198,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_delete() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_copy_setup * @@ -1256,10 +1211,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, - const H5D_chk_idx_info_t *idx_info_dst) +H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, const H5D_chk_idx_info_t *idx_info_dst) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC_TAG(H5AC__COPIED_TAG) @@ -1276,13 +1230,14 @@ H5D__btree_idx_copy_setup(const H5D_chk_idx_info_t *idx_info_src, HDassert(!H5F_addr_defined(idx_info_dst->storage->idx_addr)); /* Create shared B-tree info for each file */ - if(H5D__btree_shared_create(idx_info_src->f, idx_info_src->storage, idx_info_src->layout) < 0) + if (H5D__btree_shared_create(idx_info_src->f, idx_info_src->storage, idx_info_src->layout) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for source shared B-tree info") - if(H5D__btree_shared_create(idx_info_dst->f, idx_info_dst->storage, idx_info_dst->layout) < 0) - HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for destination shared B-tree info") + if (H5D__btree_shared_create(idx_info_dst->f, idx_info_dst->storage, idx_info_dst->layout) < 0) + HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, + "can't create wrapper for destination shared B-tree info") /* Create the root of the B-tree that describes chunked storage in the dest. file */ - if(H5D__btree_idx_create(idx_info_dst) < 0) + if (H5D__btree_idx_create(idx_info_dst) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to initialize chunked storage") HDassert(H5F_addr_defined(idx_info_dst->storage->idx_addr)); @@ -1290,7 +1245,6 @@ done: FUNC_LEAVE_NOAPI_TAG(ret_value) } /* end H5D__btree_idx_copy_setup() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_copy_shutdown * @@ -1304,10 +1258,9 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, - H5O_storage_chunk_t *storage_dst) +H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, H5O_storage_chunk_t *storage_dst) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1315,16 +1268,15 @@ H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, HDassert(storage_dst); /* Decrement refcount on shared B-tree info */ - if(H5UC_DEC(storage_src->u.btree.shared) < 0) + if (H5UC_DEC(storage_src->u.btree.shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to decrement ref-counted page") - if(H5UC_DEC(storage_dst->u.btree.shared) < 0) + if (H5UC_DEC(storage_dst->u.btree.shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to decrement ref-counted page") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_copy_shutdown() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_size * @@ -1341,9 +1293,9 @@ done: static herr_t H5D__btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *index_size) { - H5D_chunk_common_ud_t udata; /* User-data for loading B-tree nodes */ - H5B_info_t bt_info; /* B-tree info */ - herr_t ret_value = SUCCEED; /* Return value */ + H5D_chunk_common_ud_t udata; /* User-data for loading B-tree nodes */ + H5B_info_t bt_info; /* B-tree info */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1357,11 +1309,11 @@ H5D__btree_idx_size(const H5D_chk_idx_info_t *idx_info, hsize_t *index_size) /* Initialize B-tree node user-data */ HDmemset(&udata, 0, sizeof udata); - udata.layout = idx_info->layout; + udata.layout = idx_info->layout; udata.storage = idx_info->storage; /* Get metadata information for B-tree */ - if(H5B_get_info(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, &bt_info, NULL, &udata) < 0) + if (H5B_get_info(idx_info->f, H5B_BTREE, idx_info->storage->idx_addr, &bt_info, NULL, &udata) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTINIT, FAIL, "unable to iterate over chunk B-tree") /* Set the size of the B-tree */ @@ -1371,7 +1323,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_size() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_reset * @@ -1392,14 +1343,13 @@ H5D__btree_idx_reset(H5O_storage_chunk_t *storage, hbool_t reset_addr) HDassert(storage); /* Reset index info */ - if(reset_addr) - storage->idx_addr = HADDR_UNDEF; + if (reset_addr) + storage->idx_addr = HADDR_UNDEF; storage->u.btree.shared = NULL; FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5D__btree_idx_reset() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_dump * @@ -1425,7 +1375,6 @@ H5D__btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream) FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5D__btree_idx_dump() */ - /*------------------------------------------------------------------------- * Function: H5D__btree_idx_dest * @@ -1441,7 +1390,7 @@ H5D__btree_idx_dump(const H5O_storage_chunk_t *storage, FILE *stream) static herr_t H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_STATIC @@ -1452,16 +1401,15 @@ H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info) HDassert(idx_info->storage); /* Free the raw B-tree node buffer */ - if(NULL == idx_info->storage->u.btree.shared) + if (NULL == idx_info->storage->u.btree.shared) HGOTO_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") - if(H5UC_DEC(idx_info->storage->u.btree.shared) < 0) - HGOTO_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") + if (H5UC_DEC(idx_info->storage->u.btree.shared) < 0) + HGOTO_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5D__btree_idx_dest() */ - /*------------------------------------------------------------------------- * Function: H5D_btree_debug * @@ -1475,15 +1423,15 @@ done: *------------------------------------------------------------------------- */ herr_t -H5D_btree_debug(H5F_t *f, haddr_t addr, FILE * stream, int indent, - int fwidth, unsigned ndims, const uint32_t *dim) +H5D_btree_debug(H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth, unsigned ndims, + const uint32_t *dim) { - H5D_btree_dbg_t udata; /* User data for B-tree callback */ - H5O_storage_chunk_t storage; /* Storage information for B-tree callback */ - H5O_layout_chunk_t layout; /* Layout information for B-tree callback */ - hbool_t shared_init = FALSE; /* Whether B-tree shared info is initialized */ - unsigned u; /* Local index variable */ - herr_t ret_value = SUCCEED; /* Return value */ + H5D_btree_dbg_t udata; /* User data for B-tree callback */ + H5O_storage_chunk_t storage; /* Storage information for B-tree callback */ + H5O_layout_chunk_t layout; /* Layout information for B-tree callback */ + hbool_t shared_init = FALSE; /* Whether B-tree shared info is initialized */ + unsigned u; /* Local index variable */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -1494,33 +1442,31 @@ H5D_btree_debug(H5F_t *f, haddr_t addr, FILE * stream, int indent, /* Reset "fake" layout info */ HDmemset(&layout, 0, sizeof(layout)); layout.ndims = ndims; - for(u = 0; u < ndims; u++) + for (u = 0; u < ndims; u++) layout.dim[u] = dim[u]; /* Allocate the shared structure */ - if(H5D__btree_shared_create(f, &storage, &layout) < 0) - HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") + if (H5D__btree_shared_create(f, &storage, &layout) < 0) + HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't create wrapper for shared B-tree info") shared_init = TRUE; /* Set up user data for callback */ - udata.common.layout = &layout; + udata.common.layout = &layout; udata.common.storage = &storage; - udata.common.scaled = NULL; - udata.ndims = ndims; + udata.common.scaled = NULL; + udata.ndims = ndims; /* Dump the records for the B-tree */ (void)H5B_debug(f, addr, stream, indent, fwidth, H5B_BTREE, &udata); done: - if(shared_init) { + if (shared_init) { /* Free the raw B-tree node buffer */ - if(NULL == storage.u.btree.shared) + if (NULL == storage.u.btree.shared) HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "ref-counted shared info nil") - else - if(H5UC_DEC(storage.u.btree.shared) < 0) - HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted shared info") + else if (H5UC_DEC(storage.u.btree.shared) < 0) + HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted shared info") } /* end if */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5D_btree_debug() */ - |