diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2015-07-22 18:36:30 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2015-07-22 18:36:30 (GMT) |
commit | 6bb109bf6d0b17e4c67a1fc3d252a0b6547c875f (patch) | |
tree | e1b7579a2c0b7ad497f7ffe38ca0f2db2b8bd4a6 /src/H5Dvirtual.c | |
parent | a8fc7eeaecfcaf13480ca68c688ba91869bf8e16 (diff) | |
download | hdf5-6bb109bf6d0b17e4c67a1fc3d252a0b6547c875f.zip hdf5-6bb109bf6d0b17e4c67a1fc3d252a0b6547c875f.tar.gz hdf5-6bb109bf6d0b17e4c67a1fc3d252a0b6547c875f.tar.bz2 |
[svn-r27424] Implement support for h5debug for VDS.
Implement support for H5Pencode/decode with VDS properties.
Testing for H5Pencode/decode with VDS.
Relax assertion check for number of elements written to buffer as we do not
check for overlaps in mappings.
Other minor fixes/cleanup.
Tested: ummon
Diffstat (limited to 'src/H5Dvirtual.c')
-rw-r--r-- | src/H5Dvirtual.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/H5Dvirtual.c b/src/H5Dvirtual.c index b4a8060..8b8af36 100644 --- a/src/H5Dvirtual.c +++ b/src/H5Dvirtual.c @@ -1099,8 +1099,8 @@ H5D__virtual_set_extent_unlim(const H5D_t *dset, hid_t dxpl_id) /* Sanity check */ HDassert(dset); - storage = &dset->shared->layout.storage.u.virt; HDassert(dset->shared->layout.storage.type == H5D_VIRTUAL); + storage = &dset->shared->layout.storage.u.virt; HDassert((storage->view == H5D_VDS_FIRST_MISSING) || (storage->view == H5D_VDS_LAST_AVAILABLE)); /* Get rank of VDS */ @@ -1956,11 +1956,9 @@ H5D__virtual_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, } /* end for */ /* Fill unmapped part of buffer with fill value */ - if(tot_nelmts != nelmts) { + if(tot_nelmts < nelmts) { H5D_fill_value_t fill_status; /* Fill value status */ - HDassert(tot_nelmts < nelmts); - /* Check the fill value status */ if(H5P_is_fill_value_defined(&io_info->dset->shared->dcpl_cache.fill, &fill_status) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't tell if fill value defined") @@ -1994,7 +1992,7 @@ H5D__virtual_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, #ifndef NDEBUG /* Make sure the total number of elements written (including fill - * values) == nelmts */ + * values) >= nelmts */ { hssize_t select_nelmts; /* Number of elements in selection */ @@ -2002,8 +2000,10 @@ H5D__virtual_read(H5D_io_info_t *io_info, const H5D_type_info_t *type_info, if((select_nelmts = (hssize_t)H5S_GET_SELECT_NPOINTS(fill_space)) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTCOUNT, FAIL, "unable to get number of elements in selection") - /* Verify number of elements is correct */ - HDassert((tot_nelmts + (hsize_t)select_nelmts) == nelmts); + /* Verify number of elements is correct. Note that since we + * don't check for overlap we can't assert that these are equal + */ + HDassert((tot_nelmts + (hsize_t)select_nelmts) >= nelmts); } /* end block */ #endif /* NDEBUG */ } /* end if */ |