diff options
Diffstat (limited to 'src/H5MFsection.c')
-rw-r--r-- | src/H5MFsection.c | 10 |
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") |