[svn-r16354] Description:
Bring r16353 back from revise_chunks branch:
Refactor internal layout information, making it easier to add another
type of chunk index.
Tested on:
FreeBSD/32 6.3 (duty)
(other platforms tested with original patch)
This commit is contained in:
@@ -351,8 +351,7 @@ 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.type == H5D_CONTIGUOUS && !H5F_addr_defined(dataset->shared->layout.u.contig.addr))
|
||||
|| (dataset->shared->layout.type == H5D_CHUNKED && !H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))) {
|
||||
!(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout)) {
|
||||
H5D_fill_value_t fill_status; /* Whether/How the fill value is defined */
|
||||
|
||||
/* Retrieve dataset's fill-value properties */
|
||||
@@ -386,8 +385,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.type == H5D_CONTIGUOUS && H5F_addr_defined(dataset->shared->layout.u.contig.addr))
|
||||
|| (dataset->shared->layout.type == H5D_CHUNKED && H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))
|
||||
HDassert((*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout)
|
||||
|| dataset->shared->dcpl_cache.efl.nused > 0
|
||||
|| dataset->shared->layout.type == H5D_COMPACT);
|
||||
|
||||
@@ -537,8 +535,7 @@ H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
|
||||
|
||||
/* Allocate data space and initialize it if it hasn't been. */
|
||||
if(nelmts > 0 && dataset->shared->dcpl_cache.efl.nused == 0 &&
|
||||
((dataset->shared->layout.type == H5D_CONTIGUOUS && !H5F_addr_defined(dataset->shared->layout.u.contig.addr))
|
||||
|| (dataset->shared->layout.type == H5D_CHUNKED && !H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))) {
|
||||
!(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout)) {
|
||||
hssize_t file_nelmts; /* Number of elements in file dataset's dataspace */
|
||||
hbool_t full_overwrite; /* Whether we are over-writing all the elements */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user