summaryrefslogtreecommitdiffstats
path: root/src/H5Dpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-08-17 07:30:18 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-08-17 07:30:18 (GMT)
commit2d3c6215f26b94e6fa0cb46178ea5c60fa075d66 (patch)
tree4fc137e84fd1a4ca4925de9b35f61bc40207767b /src/H5Dpkg.h
parent3646a3f83dc32b46c18fe2bfde9a2acdc70680f4 (diff)
downloadhdf5-2d3c6215f26b94e6fa0cb46178ea5c60fa075d66.zip
hdf5-2d3c6215f26b94e6fa0cb46178ea5c60fa075d66.tar.gz
hdf5-2d3c6215f26b94e6fa0cb46178ea5c60fa075d66.tar.bz2
[svn-r9101] Purpose:
Bug fix Description: 1 - Dataset contiguous storage cache information had a bug where it was possible to try to access invalid cache information if the cache wasn't filled the first time it attempted to loop through the list of offset/length vectors. 2 - Additionally, the contiguous storage cache information was being used in certain circumstances from the chunked dataset I/O code path, which was generally fatal since the chunk storage and contiguous storage information were stored together in a union. Solution: 1 - Avoid special case of first trip through loop over offset/length I/O vectors and always check for the contiguous storage sieve buffer buffer being NULL. 2 - Change the union containing the chunk and contiguous storage cache information into a struct, allowing both to be used at the same time. Platforms tested: FreeBSD 4.10 (sleipnir) h5committested
Diffstat (limited to 'src/H5Dpkg.h')
-rw-r--r--src/H5Dpkg.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
index 30183c3..8b88e92 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -93,8 +93,12 @@ struct H5D_t {
H5O_fill_t fill; /* Dataset fill value information */
/* Buffered/cached information for types of raw data storage*/
- union {
+ struct {
H5D_rdcdc_t contig; /* Information about contiguous data */
+ /* (Note that the "contig" cache
+ * information can be used by a chunked
+ * dataset in certain circumstances)
+ */
H5D_rdcc_t chunk; /* Information about chunked data */
}cache;
};