diff options
author | Joel Plutchak <plutchak@hdfgroup.org> | 2013-05-02 19:20:14 (GMT) |
---|---|---|
committer | Joel Plutchak <plutchak@hdfgroup.org> | 2013-05-02 19:20:14 (GMT) |
commit | 62f6b579d0999a3ff46eb74a6bb35841f0a18eaa (patch) | |
tree | 336c0fa734cc435518256758f168aefde034fbc3 /src/H5Dchunk.c | |
parent | 7d205bba0a80a5ac8b68806c9c7b17f3005e30a4 (diff) | |
download | hdf5-62f6b579d0999a3ff46eb74a6bb35841f0a18eaa.zip hdf5-62f6b579d0999a3ff46eb74a6bb35841f0a18eaa.tar.gz hdf5-62f6b579d0999a3ff46eb74a6bb35841f0a18eaa.tar.bz2 |
[svn-r23666] Fix for fill value problem for chunked files with mixed allocated/unallocated chunks.
Diffstat (limited to 'src/H5Dchunk.c')
-rw-r--r-- | src/H5Dchunk.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 497846b..31e3179 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -1709,8 +1709,9 @@ H5D__chunk_cacheable(const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_ /* If the fill value needs to be written then we will need * to use the cache to write the fill value */ if(fill->fill_time == H5D_FILL_TIME_ALLOC || - (fill->fill_time == H5D_FILL_TIME_IFSET - && fill_status == H5D_FILL_VALUE_USER_DEFINED)) + (fill->fill_time == H5D_FILL_TIME_IFSET && + (fill_status == H5D_FILL_VALUE_USER_DEFINED || + fill_status == H5D_FILL_VALUE_DEFAULT))) ret_value = TRUE; else ret_value = FALSE; @@ -1796,7 +1797,8 @@ H5D__chunk_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, * but they aren't set, set the flag to skip missing chunks. */ if(fill->fill_time == H5D_FILL_TIME_NEVER || - (fill->fill_time == H5D_FILL_TIME_IFSET && fill_status != H5D_FILL_VALUE_USER_DEFINED)) + (fill->fill_time == H5D_FILL_TIME_IFSET && fill_status != H5D_FILL_VALUE_USER_DEFINED && + fill_status != H5D_FILL_VALUE_DEFAULT)) skip_missing_chunks = TRUE; } |