diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2016-12-10 14:09:40 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2016-12-10 14:09:40 (GMT) |
commit | cc6eb939f4dec06e234835acbb5b3bc269b228c5 (patch) | |
tree | c4a9f78fd8217d14e55030350ad1985c1f969ef7 /src/H5Cprivate.h | |
parent | 122819fec3af15e67421872cd5e11415d6653ab9 (diff) | |
parent | 02879bc4b2ba161dc259bf28a71e7a99b44be0e3 (diff) | |
download | hdf5-cc6eb939f4dec06e234835acbb5b3bc269b228c5.zip hdf5-cc6eb939f4dec06e234835acbb5b3bc269b228c5.tar.gz hdf5-cc6eb939f4dec06e234835acbb5b3bc269b228c5.tar.bz2 |
Merge pull request #191 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:eoc_h5fs_fix to develop
Final fix for evict-on-close issues with new-style groups.
* commit '02879bc4b2ba161dc259bf28a71e7a99b44be0e3':
Updated the H5FS cache code to grab the correct tag and modified the freespace test to use dxpls that have been tagged with the H5AC__FREESPACE_TAG global tag instead of H5AC_ind_read_dxpl_id. The library code now expects the owner of the free space manager to tag it so the owner-less free space managers in the freespace tag had to be tagged with *something* to avoid cache errors.
Changed the name of H5MF_alloc_close() to H5MF__alloc_close() to make the FUNC_ENTER macro happy.
Reverted the freespace test. The TAG macros in H5MF_get_freespace() make the changes unnecessary.
Added missing TAG macros to H5MF_get_freespace().
Updated the freespace test so functions take a common, tagged dxpl so the test will work with the new H5FS tag changes.
Updated the cache_tagging test so it correctly analyzes the new fractal heap free space manager behavior.
Added TAG macros to the H5MF package code so H5AC__FREESPACE_TAG gets set on the dxpl correctly. Also restored the TAG macro to H5FS__cache_hdr_pre_serialize() since otherwise the tag won't be initialized.
First cut at fixing the tagging issue with the free space managers. * Converted the tag macros to regular ones so the parent's tag is used via the dxpl.
Diffstat (limited to 'src/H5Cprivate.h')
-rw-r--r-- | src/H5Cprivate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h index baa80a2..ed75bec 100644 --- a/src/H5Cprivate.h +++ b/src/H5Cprivate.h @@ -1726,6 +1726,7 @@ H5_DLL herr_t H5C_flush_cache(H5F_t *f, hid_t dxpl_id, unsigned flags); H5_DLL herr_t H5C_flush_tagged_entries(H5F_t * f, hid_t dxpl_id, haddr_t tag); H5_DLL herr_t H5C_evict_tagged_entries(H5F_t * f, hid_t dxpl_id, haddr_t tag, hbool_t match_global); H5_DLL herr_t H5C_expunge_tag_type_metadata(H5F_t *f, hid_t dxpl_id, haddr_t tag, int type_id, unsigned flags); +H5_DLL herr_t H5C_get_tag(const void *thing, /*OUT*/ haddr_t *tag); #if H5C_DO_TAGGING_SANITY_CHECKS herr_t H5C_verify_tag(int id, haddr_t tag); #endif |