diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-04-14 05:00:20 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-04-14 05:00:20 (GMT) |
commit | 4e4bdd91633a24a39450a236cc88ab7a3b3a17d4 (patch) | |
tree | 15e9fc18810de038a17ea03cb5a9246633136973 /src/H5HLprivate.h | |
parent | 1259957b5e6fb3c1e290cd310242da84c3683f2b (diff) | |
download | hdf5-4e4bdd91633a24a39450a236cc88ab7a3b3a17d4.zip hdf5-4e4bdd91633a24a39450a236cc88ab7a3b3a17d4.tar.gz hdf5-4e4bdd91633a24a39450a236cc88ab7a3b3a17d4.tar.bz2 |
[svn-r6657] Purpose:
Code cleanup, bug fix & new feature.
Description:
The local heaps were missed in the last changes to the metadata "dirty"
flag, making them operate incorrectly in the metadata cache. Fixed by changing
to use "cache_info.dirty" flag instead.
Track changes for internal metadata API, regarding marking metadata as clean
without flushing it to the file.
Added ability to delete a local heap in the file.
Added ability to reduce the size of a local heap if there is a free-space
block at the end of the heap and the free-space block is over half the size of
the local heap.
Some migration of package-specific information out of the private header
and into the code module as well.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
Linux 2.4 (burrwhite) w/FORTRAN
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/parallel & FORTRAN
(h5committest not run due to my ongoing difficulties with C++ on burrwhite).
Diffstat (limited to 'src/H5HLprivate.h')
-rw-r--r-- | src/H5HLprivate.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/H5HLprivate.h b/src/H5HLprivate.h index dce519b..23ac438 100644 --- a/src/H5HLprivate.h +++ b/src/H5HLprivate.h @@ -46,13 +46,6 @@ #define H5HL_ALIGN(X) (((X)+7)&(unsigned)(~0x07)) /*align on 8-byte boundary */ -#define H5HL_SIZEOF_HDR(F) \ - H5HL_ALIGN(H5HL_SIZEOF_MAGIC + /*heap signature */ \ - 4 + /*reserved */ \ - H5F_SIZEOF_SIZE (F) + /*data size */ \ - H5F_SIZEOF_SIZE (F) + /*free list head */ \ - H5F_SIZEOF_ADDR (F)) /*data address */ - #define H5HL_SIZEOF_FREE(F) \ H5HL_ALIGN(H5F_SIZEOF_SIZE (F) + /*ptr to next free block */ \ H5F_SIZEOF_SIZE (F)) /*size of this free block */ @@ -69,6 +62,7 @@ H5_DLL size_t H5HL_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, size_t size, H5_DLL herr_t H5HL_write(H5F_t *f, hid_t dxpl_id, haddr_t addr, size_t offset, size_t size, const void *buf); H5_DLL herr_t H5HL_remove(H5F_t *f, hid_t dxpl_id, haddr_t addr, size_t offset, size_t size); +H5_DLL herr_t H5HL_delete(H5F_t *f, hid_t dxpl_id, haddr_t addr); H5_DLL herr_t H5HL_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent, int fwidth); #endif |