summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2009-07-31 04:34:50 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2009-07-31 04:34:50 (GMT)
commitfb984423fc87cefe24d85a4c6001aeee5c734244 (patch)
treecdb58f21f015a0273e06daa11532ef0237b377f2
parentdafe255d8abd796012899d2904bb4ef3373de9e6 (diff)
downloadhdf5-fb984423fc87cefe24d85a4c6001aeee5c734244.zip
hdf5-fb984423fc87cefe24d85a4c6001aeee5c734244.tar.gz
hdf5-fb984423fc87cefe24d85a4c6001aeee5c734244.tar.bz2
[svn-r17285] Description:
Bring r17281:17284 from trunk to revise_chunks branch Tested on: Mac OS X/32 10.5.7 (amazon) debug h5committest not required on this branch
-rw-r--r--src/H5Dchunk.c14
-rw-r--r--src/H5Dpkg.h5
-rw-r--r--src/H5Olayout.c2
3 files changed, 7 insertions, 14 deletions
diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c
index 9a8701f..5a6634b 100644
--- a/src/H5Dchunk.c
+++ b/src/H5Dchunk.c
@@ -4397,9 +4397,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 */
@@ -4426,7 +4425,6 @@ 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((H5D_CHUNK_IDX_EARRAY == storage_src->idx_type &&
H5D_COPS_EARRAY == storage_src->ops) ||
@@ -4434,8 +4432,8 @@ H5D_chunk_copy(H5F_t *f_src, H5O_storage_chunk_t *storage_src,
H5D_COPS_FARRAY == storage_src->ops) ||
(H5D_CHUNK_IDX_BTREE == storage_src->idx_type &&
H5D_COPS_BTREE == storage_src->ops));
+ HDassert(layout_src);
HDassert(f_dst);
- HDassert(layout_dst);
HDassert(storage_dst);
HDassert((H5D_CHUNK_IDX_EARRAY == storage_dst->idx_type &&
H5D_COPS_EARRAY == storage_dst->ops) ||
@@ -4472,10 +4470,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 */
@@ -4488,7 +4482,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 b1deb96..6ccb9c5 100644
--- a/src/H5Dpkg.h
+++ b/src/H5Dpkg.h
@@ -653,9 +653,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 daec063..0156b2c 100644
--- a/src/H5Olayout.c
+++ b/src/H5Olayout.c
@@ -788,7 +788,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;