diff options
author | Larry Knox <lrknox@hdfgroup.org> | 2021-10-29 22:10:31 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-29 22:10:31 (GMT) |
commit | 111c7ae9ac2efc29e8b399e6951253af9110b81a (patch) | |
tree | f69fa03253bdab97d7cf3615baff02cd936323f9 /src/H5HFstat.c | |
parent | db30c2da68ece4a155e9e50c28ec16d6057509b2 (diff) | |
download | hdf5-hdf5-1_10_8.zip hdf5-hdf5-1_10_8.tar.gz hdf5-hdf5-1_10_8.tar.bz2 |
Merge hdf5 1 10 8 (#1154)hdf5-1_10_8
Merge HDF5 1.10.8 release files to 1.10/master
Diffstat (limited to 'src/H5HFstat.c')
-rw-r--r-- | src/H5HFstat.c | 76 |
1 files changed, 34 insertions, 42 deletions
diff --git a/src/H5HFstat.c b/src/H5HFstat.c index 456fd60..5e5d06a 100644 --- a/src/H5HFstat.c +++ b/src/H5HFstat.c @@ -6,7 +6,7 @@ * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * - * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. * + * distribution tree, or in https://www.hdfgroup.org/licenses. * * If you do not have access to either file, you may request a copy from * * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ @@ -22,52 +22,43 @@ /* Module Setup */ /****************/ -#include "H5HFmodule.h" /* This source code file is part of the H5HF module */ - +#include "H5HFmodule.h" /* This source code file is part of the H5HF module */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5HFpkg.h" /* Fractal heaps */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5HFpkg.h" /* Fractal heaps */ /****************/ /* Local Macros */ /****************/ - /********************/ /* Package Typedefs */ /********************/ - /******************/ /* Local Typedefs */ /******************/ - /********************/ /* Local Prototypes */ /********************/ - /*********************/ /* Package Variables */ /*********************/ - /*****************************/ /* Library Private Variables */ /*****************************/ - /*******************/ /* Local Variables */ /*******************/ - - /*------------------------------------------------------------------------- * Function: H5HF_stat_info * @@ -92,21 +83,20 @@ H5HF_stat_info(const H5HF_t *fh, H5HF_stat_t *stats) HDassert(stats); /* Report statistics for fractal heap */ - stats->man_size = fh->hdr->man_size; + stats->man_size = fh->hdr->man_size; stats->man_alloc_size = fh->hdr->man_alloc_size; - stats->man_iter_off = fh->hdr->man_iter_off; - stats->man_nobjs = fh->hdr->man_nobjs; + stats->man_iter_off = fh->hdr->man_iter_off; + stats->man_nobjs = fh->hdr->man_nobjs; stats->man_free_space = fh->hdr->total_man_free; - stats->huge_size = fh->hdr->huge_size; - stats->huge_nobjs = fh->hdr->huge_nobjs; - stats->tiny_size = fh->hdr->tiny_size; - stats->tiny_nobjs = fh->hdr->tiny_nobjs; -/* XXX: Add more metadata statistics for the heap */ + stats->huge_size = fh->hdr->huge_size; + stats->huge_nobjs = fh->hdr->huge_nobjs; + stats->tiny_size = fh->hdr->tiny_size; + stats->tiny_nobjs = fh->hdr->tiny_nobjs; + /* XXX: Add more metadata statistics for the heap */ FUNC_LEAVE_NOAPI(SUCCEED) } /* H5HF_stat_info() */ - /*------------------------------------------------------------------------- * Function: H5HF_size * @@ -125,10 +115,10 @@ H5HF_stat_info(const H5HF_t *fh, H5HF_stat_t *stats) herr_t H5HF_size(const H5HF_t *fh, hsize_t *heap_size) { - H5HF_hdr_t *hdr; /* Fractal heap header */ - H5B2_t *bt2 = NULL; /* v2 B-tree handle for index */ - hsize_t meta_size = 0; /* free space storage size */ - herr_t ret_value = SUCCEED; /* Return value */ + H5HF_hdr_t *hdr; /* Fractal heap header */ + H5B2_t * bt2 = NULL; /* v2 B-tree handle for index */ + hsize_t meta_size = 0; /* free space storage size */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(FAIL) @@ -142,38 +132,40 @@ H5HF_size(const H5HF_t *fh, hsize_t *heap_size) hdr = fh->hdr; /* Add in values already known */ - *heap_size += hdr->heap_size; /* Heap header */ - *heap_size += hdr->man_alloc_size; /* Direct block storage for "managed" objects */ - *heap_size += hdr->huge_size; /* "huge" object storage */ + *heap_size += hdr->heap_size; /* Heap header */ + *heap_size += hdr->man_alloc_size; /* Direct block storage for "managed" objects */ + *heap_size += hdr->huge_size; /* "huge" object storage */ /* Check for indirect blocks for managed objects */ - if(H5F_addr_defined(hdr->man_dtable.table_addr) && hdr->man_dtable.curr_root_rows != 0) - if(H5HF__man_iblock_size(hdr->f, hdr, hdr->man_dtable.table_addr, hdr->man_dtable.curr_root_rows, NULL, 0, heap_size) < 0) - HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "unable to get fractal heap storage info for indirect block") + if (H5F_addr_defined(hdr->man_dtable.table_addr) && hdr->man_dtable.curr_root_rows != 0) + if (H5HF__man_iblock_size(hdr->f, hdr, hdr->man_dtable.table_addr, hdr->man_dtable.curr_root_rows, + NULL, 0, heap_size) < 0) + HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, + "unable to get fractal heap storage info for indirect block") /* Check for B-tree storage of huge objects in fractal heap */ - if(H5F_addr_defined(hdr->huge_bt2_addr)) { + if (H5F_addr_defined(hdr->huge_bt2_addr)) { /* Open the huge object index v2 B-tree */ - if(NULL == (bt2 = H5B2_open(hdr->f, hdr->huge_bt2_addr, hdr->f))) - HGOTO_ERROR(H5E_HEAP, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for tracking 'huge' objects") + if (NULL == (bt2 = H5B2_open(hdr->f, hdr->huge_bt2_addr, hdr->f))) + HGOTO_ERROR(H5E_HEAP, H5E_CANTOPENOBJ, FAIL, + "unable to open v2 B-tree for tracking 'huge' objects") /* Get the B-tree storage */ - if(H5B2_size(bt2, heap_size) < 0) + if (H5B2_size(bt2, heap_size) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve B-tree storage info") } /* end if */ /* Get storage for free-space tracking info */ - if(H5F_addr_defined(hdr->fs_addr)) { - if(H5HF__space_size(hdr, &meta_size) < 0) + if (H5F_addr_defined(hdr->fs_addr)) { + if (H5HF__space_size(hdr, &meta_size) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve FS meta storage info") - *heap_size += meta_size; + *heap_size += meta_size; } /* end if */ done: /* Release resources */ - if(bt2 && H5B2_close(bt2) < 0) + if (bt2 && H5B2_close(bt2) < 0) HDONE_ERROR(H5E_HEAP, H5E_CANTCLOSEOBJ, FAIL, "can't close v2 B-tree for tracking 'huge' objects") FUNC_LEAVE_NOAPI(ret_value) } /* end H5HF_size() */ - |