summaryrefslogtreecommitdiffstats
path: root/src/H5FScache.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2007-08-14 18:41:40 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2007-08-14 18:41:40 (GMT)
commit92bdaa7d0f11564a523a86b6cb170d43842ff6ef (patch)
tree69c0d005493bf60057534f2618b85de39eac4133 /src/H5FScache.c
parent665366d499eb7831d90655c704507c4920313361 (diff)
downloadhdf5-92bdaa7d0f11564a523a86b6cb170d43842ff6ef.zip
hdf5-92bdaa7d0f11564a523a86b6cb170d43842ff6ef.tar.gz
hdf5-92bdaa7d0f11564a523a86b6cb170d43842ff6ef.tar.bz2
[svn-r14086] Description:
Correct error in metadata cache entry logic for free space objects, where a free space header could unpin its entry in the cache, even when the sections for that free space manager were still in the cache and technically holding the header pinned. Fix problem by checking for the section info in the cache before allowing the header to unpin its cache entry. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.10 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5FScache.c')
-rw-r--r--src/H5FScache.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/H5FScache.c b/src/H5FScache.c
index 700f026..74a9aab 100644
--- a/src/H5FScache.c
+++ b/src/H5FScache.c
@@ -869,6 +869,8 @@ HDfprintf(stderr, "%s: Flushing free space header, addr = %a, destroy = %u\n", F
HDassert(f);
HDassert(H5F_addr_defined(addr));
HDassert(sinfo);
+ HDassert(sinfo->fspace);
+ HDassert(sinfo->fspace->sect_cls);
if(sinfo->cache_info.is_dirty) {
H5FS_iter_ud_t udata; /* User data for callbacks */