summaryrefslogtreecommitdiffstats
path: root/src/H5Dint.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2019-03-06 22:57:42 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2019-03-19 20:36:43 (GMT)
commita8443acaa76b79ebe74624af363008f0163a44f8 (patch)
tree517d5878dea425cfd97f219500876a86d88a69c3 /src/H5Dint.c
parent285bb9713cd9c18ad15cd851af90ff55746bfdaf (diff)
downloadhdf5-a8443acaa76b79ebe74624af363008f0163a44f8.zip
hdf5-a8443acaa76b79ebe74624af363008f0163a44f8.tar.gz
hdf5-a8443acaa76b79ebe74624af363008f0163a44f8.tar.bz2
Fix issue with direct chunk write not updating the "last chunk" index
cache. Fix issues involving datasets being "no allocated" when they contain cached raw data.
Diffstat (limited to 'src/H5Dint.c')
-rw-r--r--src/H5Dint.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/H5Dint.c b/src/H5Dint.c
index ea4245b..d3cad8f 100644
--- a/src/H5Dint.c
+++ b/src/H5Dint.c
@@ -2878,7 +2878,8 @@ H5D__set_extent(H5D_t *dset, const hsize_t *size)
*-------------------------------------------------------------------------
*/
if(H5D_CHUNKED == dset->shared->layout.type) {
- if(shrink && (*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage))
+ if(shrink && ((*dset->shared->layout.ops->is_space_alloc)(&dset->shared->layout.storage)
+ || (dset->shared->layout.ops->is_data_cached && (*dset->shared->layout.ops->is_data_cached)(dset->shared))))
/* Remove excess chunks */
if(H5D__chunk_prune_by_extent(dset, curr_dims) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to remove chunks")