diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2019-03-06 22:57:42 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2019-03-19 20:36:43 (GMT) |
commit | a8443acaa76b79ebe74624af363008f0163a44f8 (patch) | |
tree | 517d5878dea425cfd97f219500876a86d88a69c3 /src/H5Dio.c | |
parent | 285bb9713cd9c18ad15cd851af90ff55746bfdaf (diff) | |
download | hdf5-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/H5Dio.c')
-rw-r--r-- | src/H5Dio.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c index 8abcd81..a03f780 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -546,7 +546,8 @@ H5D__read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, * has been overwritten. So just proceed in reading. */ if(nelmts > 0 && dataset->shared->dcpl_cache.efl.nused == 0 && - !(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout.storage)) { + !(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout.storage) && + !(dataset->shared->layout.ops->is_data_cached && (*dataset->shared->layout.ops->is_data_cached)(dataset->shared))) { H5D_fill_value_t fill_status; /* Whether/How the fill value is defined */ /* Retrieve dataset's fill-value properties */ @@ -578,6 +579,7 @@ H5D__read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, /* Sanity check that space is allocated, if there are elements */ if(nelmts > 0) HDassert((*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout.storage) + || (dataset->shared->layout.ops->is_data_cached && (*dataset->shared->layout.ops->is_data_cached)(dataset->shared)) || dataset->shared->dcpl_cache.efl.nused > 0 || dataset->shared->layout.type == H5D_COMPACT); |