summaryrefslogtreecommitdiffstats
path: root/src/H5Dchunk.c
diff options
context:
space:
mode:
authorJoel Plutchak <plutchak@hdfgroup.org>2013-05-02 19:20:14 (GMT)
committerJoel Plutchak <plutchak@hdfgroup.org>2013-05-02 19:20:14 (GMT)
commit62f6b579d0999a3ff46eb74a6bb35841f0a18eaa (patch)
tree336c0fa734cc435518256758f168aefde034fbc3 /src/H5Dchunk.c
parent7d205bba0a80a5ac8b68806c9c7b17f3005e30a4 (diff)
downloadhdf5-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.c8
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;
}