summaryrefslogtreecommitdiffstats
path: root/src/H5ACprivate.h
diff options
context:
space:
mode:
authorJohn Mainzer <mainzer@hdfgroup.org>2014-06-18 18:18:36 (GMT)
committerJohn Mainzer <mainzer@hdfgroup.org>2014-06-18 18:18:36 (GMT)
commit12ee3deb82f879cd4cf40e1604442e41ab2359bf (patch)
tree455b95f4dd1abb0873fa677ed0c372a64ed56e92 /src/H5ACprivate.h
parent471aedb1e85ba6b4c5b829373963c21d77ce0835 (diff)
downloadhdf5-12ee3deb82f879cd4cf40e1604442e41ab2359bf.zip
hdf5-12ee3deb82f879cd4cf40e1604442e41ab2359bf.tar.gz
hdf5-12ee3deb82f879cd4cf40e1604442e41ab2359bf.tar.bz2
[svn-r25321] Reworked and enhanced extreme sanity check in H5C.c, fixing an
uninitialized variable bug in passing. Added the H5C_get_entry_ptr_from_addr() and H5C_verify_entry_type() in H5C.c, along with their pass through functions in H5AC.c. Note that H5C_get_entry_ptr_from_addr() is quite slimey, and should be avoided if possible. Updated fractal heap to use flush ordering to force children in the hdr / iblock / dblock tree to be flushed prior to parents. This is part of a port of the fractal heap to the V3 cache, although I gather that it will also be useful for SWMR. Added sanity checking code to the fractal heap to verify that direct blocks are flushed before their parent indirect blocks, child indirect block are flushed prior to their parent indirect blocks, and that the root iblock or dblock is flushed prior to the header Tested on: Jam: Serial and parallel Phoenix (Debian): serial, debug and production amazon (MacOS): serial
Diffstat (limited to 'src/H5ACprivate.h')
-rw-r--r--src/H5ACprivate.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h
index ca6dcbf..623f502 100644
--- a/src/H5ACprivate.h
+++ b/src/H5ACprivate.h
@@ -416,5 +416,17 @@ H5_DLL herr_t H5AC_ignore_tags(H5F_t * f);
H5_DLL herr_t H5AC_add_candidate(H5AC_t * cache_ptr, haddr_t addr);
#endif /* H5_HAVE_PARALLEL */
+#ifndef NDEBUG /* debugging functions */
+
+H5_DLL herr_t H5AC_get_entry_ptr_from_addr(const H5F_t *f, haddr_t addr,
+ void ** entry_ptr_ptr);
+
+H5_DLL herr_t H5AC_verify_entry_type(const H5F_t * f, haddr_t addr,
+ const H5AC_class_t * expected_type,
+ hbool_t * in_cache_ptr,
+ hbool_t * type_ok_ptr);
+
+#endif /* NDEBUG */ /* end debugging functions */
+
#endif /* !_H5ACprivate_H */