summaryrefslogtreecommitdiffstats
path: root/src/H5Ocache_image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Ocache_image.c')
-rw-r--r--src/H5Ocache_image.c36
1 files changed, 2 insertions, 34 deletions
diff --git a/src/H5Ocache_image.c b/src/H5Ocache_image.c
index dad0c9c..f1882ee 100644
--- a/src/H5Ocache_image.c
+++ b/src/H5Ocache_image.c
@@ -294,39 +294,8 @@ H5O__mdci_delete(H5F_t *f, H5O_t H5_ATTR_UNUSED *open_oh, void *_mesg)
* from the VFD layer at the end of file. As this was the
* last file space allocation before shutdown, the cache image
* should still be the last item in the file.
- *
- * If the hack to work around the self referential free space
- * manager issue is in use, file space for the non-empty self
- * referential free space managers was also allocated from VFD
- * layer at the end of file. Since these allocations directly
- * preceeded the cache image allocation they should be directly
- * adjacent to the cache image block at the end of file.
- *
- * In this case, just call H5MF_tidy_self_referential_fsm_hack().
- *
- * That routine will float the self referential free space
- * managers, and reduce the eoa to its value just prior to
- * allocation of space for same. Since the cache image appears
- * just after the self referential free space managers, this
- * will release the file space for the cache image as well.
- *
- * Note that in this case, there must not have been any file
- * space allocations / deallocations prior to the free of the
- * cache image. Verify this to the extent possible.
- *
- * If the hack to work around the persistent self referential
- * free space manager issue is NOT in use, just call H5MF_xfree()
- * to release the cache iamge. In principle, we should be able
- * to just reduce the EOA to the base address of the cache
- * image block, as there shouldn't be any file space allocation
- * before the first metadata cache access. However, given
- * time constraints, I don't want to go there now.
*/
-
-
-
if(f->shared->closing) {
-
/* Get the eoa, and verify that it has the expected value */
if(HADDR_UNDEF == (final_eoa = H5FD_get_eoa(f->shared->lf, H5FD_MEM_DEFAULT)) )
HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, FAIL, "unable to get file size")
@@ -335,11 +304,10 @@ H5O__mdci_delete(H5F_t *f, H5O_t H5_ATTR_UNUSED *open_oh, void *_mesg)
if(H5FD_free(f->shared->lf, H5FD_MEM_SUPER, f, mesg->addr, mesg->size) < 0)
HGOTO_ERROR(H5E_CACHE, H5E_CANTFREE, FAIL, "can't free MDC image")
- } else {
+ }
+ else
if(H5MF_xfree(f, H5FD_MEM_SUPER, mesg->addr, mesg->size) < 0)
HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free file space for cache image block")
- }
-
} /* end if */
done: