From 5ddff83f67e9de91ed7d82e71e691652291abdf9 Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Thu, 30 Jul 2009 23:31:47 -0500 Subject: [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 --- src/H5Dchunk.c | 14 ++++---------- src/H5Dpkg.h | 5 ++--- src/H5Olayout.c | 2 +- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 4266e30..fa96aac 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -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 */ diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h index fc31ea6..df7dd51 100644 --- a/src/H5Dpkg.h +++ b/src/H5Dpkg.h @@ -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); diff --git a/src/H5Olayout.c b/src/H5Olayout.c index 13e095e..39905be 100644 --- a/src/H5Olayout.c +++ b/src/H5Olayout.c @@ -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; -- cgit v0.12