summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVailin Choi <vchoi@hdfgroup.org>2013-07-31 15:01:53 (GMT)
committerVailin Choi <vchoi@hdfgroup.org>2013-07-31 15:01:53 (GMT)
commit66310368341199e259b793b13e8f06b2e3e491c4 (patch)
tree2109368a8c7822357e28e1b40eadfda014ba1640
parent147522bb6118ec82f087208d5caa046f57ff801d (diff)
downloadhdf5-66310368341199e259b793b13e8f06b2e3e491c4.zip
hdf5-66310368341199e259b793b13e8f06b2e3e491c4.tar.gz
hdf5-66310368341199e259b793b13e8f06b2e3e491c4.tar.bz2
[svn-r23951] Bring revisions #23713 - 23715 from trunk to revise_chunks.
h5committested.
-rw-r--r--src/H5Dchunk.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c
index 9573268..37e1122 100644
--- a/src/H5Dchunk.c
+++ b/src/H5Dchunk.c
@@ -1840,8 +1840,9 @@ 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_status != H5D_FILL_VALUE_DEFAULT))
+ (fill->fill_time == H5D_FILL_TIME_IFSET &&
+ fill_status != H5D_FILL_VALUE_USER_DEFINED &&
+ fill_status != H5D_FILL_VALUE_DEFAULT))
skip_missing_chunks = TRUE;
}
@@ -3143,6 +3144,9 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata,
else {
H5D_fill_value_t fill_status;
+ /* Sanity check */
+ HDassert(fill->alloc_time != H5D_ALLOC_TIME_EARLY);
+
/* Chunk size on disk isn't [likely] the same size as the final chunk
* size in memory, so allocate memory big enough. */
if(NULL == (chunk = H5D__chunk_alloc(chunk_size, pline)))
@@ -3152,7 +3156,9 @@ H5D__chunk_lock(const H5D_io_info_t *io_info, H5D_chunk_ud_t *udata,
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't tell if fill value defined")
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))) {
/*
* The chunk doesn't exist in the file. Replicate the fill
* value throughout the chunk, if the fill value is defined.
@@ -3679,7 +3685,9 @@ H5D__chunk_allocate(H5D_t *dset, hid_t dxpl_id, hbool_t full_overwrite,
* set the "should fill" flag
*/
if((!full_overwrite && (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))))
|| pline->nused > 0)
should_fill = TRUE;