diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2019-03-06 22:57:42 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2019-03-06 22:57:42 (GMT) |
commit | faec33960f48e070afd6a7d74630cda3029cb46f (patch) | |
tree | 3690e1d9c7bf74363a9ae30a212cbff3914576e5 /src/H5Dio.c | |
parent | cdec6ca87f5485aa29679070908d4774127e8a78 (diff) | |
download | hdf5-faec33960f48e070afd6a7d74630cda3029cb46f.zip hdf5-faec33960f48e070afd6a7d74630cda3029cb46f.tar.gz hdf5-faec33960f48e070afd6a7d74630cda3029cb46f.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 2f87e38..9343b80 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -518,7 +518,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 */ @@ -550,6 +551,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); |