summaryrefslogtreecommitdiffstats
path: root/src/H5MFsection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5MFsection.c')
-rw-r--r--src/H5MFsection.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/H5MFsection.c b/src/H5MFsection.c
index 1d217a1..3b0a1c2 100644
--- a/src/H5MFsection.c
+++ b/src/H5MFsection.c
@@ -771,11 +771,11 @@ H5MF__sect_small_merge(H5FS_section_info_t **_sect1, H5FS_section_info_t *_sect2
if(H5MF_xfree(udata->f, udata->alloc_type, (*sect1)->sect_info.addr, (*sect1)->sect_info.size) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, FAIL, "can't free merged section")
- /* Need to free possible metadata page in the PB cache */
- /* This is in response to the data corruption bug from fheap.c with page buffering + page strategy */
- /* Note: Large metadata page bypasses the PB cache */
- /* Note: Update of raw data page (large or small sized) is handled by the PB cache */
- if(udata->f->shared->pb_ptr != NULL && udata->alloc_type != H5FD_MEM_DRAW)
+ /* Need to free possible raw/metadata page in the page buffer.
+ * This is in response to the data corruption bug from test/fheap.c
+ * when page buffering + page aggregation strategy are used.
+ * Note: Large raw/metadata page bypasses the page buffer */
+ if(udata->f->shared->pb_ptr != NULL)
if(H5PB_remove_entry(udata->f, (*sect1)->sect_info.addr) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, FAIL, "can't free merged section")