mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-02-11 16:01:00 +08:00
[svn-r17284] Description:
Remove unneccessary dest. layout information from chunked dataset copying routine. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.5.7 (amazon) in debug mode Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
This commit is contained in:
parent
0eb775f358
commit
5ddff83f67
@ -4290,9 +4290,8 @@ done:
|
||||
herr_t
|
||||
H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
|
||||
H5O_layout_chunk_t *layout_src, H5F_t *f_dst, H5O_storage_chunk_t *storage_dst,
|
||||
H5O_layout_chunk_t *layout_dst, const H5S_extent_t *ds_extent_src,
|
||||
const H5T_t *dt_src, const H5O_pline_t *pline_src,
|
||||
H5O_copy_t *cpy_info, hid_t dxpl_id)
|
||||
const H5S_extent_t *ds_extent_src, const H5T_t *dt_src,
|
||||
const H5O_pline_t *pline_src, H5O_copy_t *cpy_info, hid_t dxpl_id)
|
||||
{
|
||||
H5D_chunk_it_ud3_t udata; /* User data for iteration callback */
|
||||
H5D_chk_idx_info_t idx_info_dst; /* Dest. chunked index info */
|
||||
@ -4319,10 +4318,9 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
|
||||
|
||||
/* Check args */
|
||||
HDassert(f_src);
|
||||
HDassert(layout_src);
|
||||
HDassert(storage_src);
|
||||
HDassert(layout_src);
|
||||
HDassert(f_dst);
|
||||
HDassert(layout_dst);
|
||||
HDassert(storage_dst);
|
||||
HDassert(ds_extent_src);
|
||||
HDassert(dt_src);
|
||||
@ -4353,10 +4351,6 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
|
||||
/* Set the source layout chunk information */
|
||||
if(H5D_chunk_set_info_real(layout_src, ndims, curr_dims) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout's chunk info")
|
||||
|
||||
/* Set the dest. layout chunk info also */
|
||||
if(H5D_chunk_set_info_real(layout_dst, ndims, curr_dims) < 0)
|
||||
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout's chunk info")
|
||||
} /* end block */
|
||||
|
||||
/* Compose source & dest chunked index info structs */
|
||||
@ -4369,7 +4363,7 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
|
||||
idx_info_dst.f = f_dst;
|
||||
idx_info_dst.dxpl_id = dxpl_id;
|
||||
idx_info_dst.pline = pline; /* Use same I/O filter pipeline for dest. */
|
||||
idx_info_dst.layout = layout_dst;
|
||||
idx_info_dst.layout = layout_src /* Use same layout for dest. */;
|
||||
idx_info_dst.storage = storage_dst;
|
||||
|
||||
/* Call the index-specific "copy setup" routine */
|
||||
|
@ -618,9 +618,8 @@ H5_DLL herr_t H5D_chunk_addrmap(const H5D_io_info_t *io_info, haddr_t chunk_addr
|
||||
H5_DLL herr_t H5D_chunk_update_cache(H5D_t *dset, hid_t dxpl_id);
|
||||
H5_DLL herr_t H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
|
||||
H5O_layout_chunk_t *layout_src, H5F_t *f_dst, H5O_storage_chunk_t *storage_dst,
|
||||
H5O_layout_chunk_t *layout_dst, const H5S_extent_t *ds_extent_src,
|
||||
const H5T_t *dt_src, const H5O_pline_t *pline_src,
|
||||
H5O_copy_t *cpy_info, hid_t dxpl_id);
|
||||
const H5S_extent_t *ds_extent_src, const H5T_t *dt_src,
|
||||
const H5O_pline_t *pline_src, H5O_copy_t *cpy_info, hid_t dxpl_id);
|
||||
H5_DLL herr_t H5D_chunk_bh_info(H5F_t *f, hid_t dxpl_id, H5O_layout_t *layout,
|
||||
const H5O_pline_t *pline, hsize_t *btree_size);
|
||||
H5_DLL herr_t H5D_chunk_dump_index(H5D_t *dset, hid_t dxpl_id, FILE *stream);
|
||||
|
@ -622,7 +622,7 @@ H5O_layout_copy_file(H5F_t *file_src, void *mesg_src, H5F_t *file_dst,
|
||||
case H5D_CHUNKED:
|
||||
if(H5D_chunk_is_space_alloc(&layout_src->storage)) {
|
||||
/* Create chunked layout */
|
||||
if(H5D_chunk_copy(file_src, &layout_src->storage.u.chunk, &layout_src->u.chunk, file_dst, &layout_dst->storage.u.chunk, &layout_dst->u.chunk, udata->src_space_extent, udata->src_dtype, udata->src_pline, cpy_info, dxpl_id) < 0)
|
||||
if(H5D_chunk_copy(file_src, &layout_src->storage.u.chunk, &layout_src->u.chunk, file_dst, &layout_dst->storage.u.chunk, udata->src_space_extent, udata->src_dtype, udata->src_pline, cpy_info, dxpl_id) < 0)
|
||||
HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy chunked storage")
|
||||
} /* end if */
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user