summaryrefslogtreecommitdiffstats
path: root/src/H5Fsuper.c
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2006-12-01 15:51:42 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2006-12-01 15:51:42 (GMT)
commit772730f4d744a0c8428f9c447b7b6073410a2880 (patch)
treef9fb0a1a5613e3c8705c7ea5e0b991cc2acfb82d /src/H5Fsuper.c
parent7855afc4b2a1fd4c266f96aa7a8dc21964e3bda3 (diff)
downloadhdf5-772730f4d744a0c8428f9c447b7b6073410a2880.zip
hdf5-772730f4d744a0c8428f9c447b7b6073410a2880.tar.gz
hdf5-772730f4d744a0c8428f9c447b7b6073410a2880.tar.bz2
[svn-r13004] Much improved shared object header message test, along with some bug fixes
to make the test pass. These changes involve changes to the file format of SOHMs, but that's okay because nobody should have been using SOHMs yet anyway. Tested on Windows, kagiso, copper, and heping
Diffstat (limited to 'src/H5Fsuper.c')
-rw-r--r--src/H5Fsuper.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/H5Fsuper.c b/src/H5Fsuper.c
index 61ecacd..f1d2797 100644
--- a/src/H5Fsuper.c
+++ b/src/H5Fsuper.c
@@ -373,13 +373,14 @@ H5F_read_superblock(H5F_t *f, hid_t dxpl_id, H5G_loc_t *root_loc, haddr_t addr,
if(shared->sohm_addr != HADDR_UNDEF)
{
unsigned index_flags[H5SM_MAX_NUM_INDEXES] = {0};
+ unsigned minsizes[H5SM_MAX_NUM_INDEXES] = {0};
size_t sohm_l2b; /* SOHM list-to-btree cutoff */
size_t sohm_b2l; /* SOHM btree-to-list cutoff */
HDassert(shared->sohm_nindexes > 0 && shared->sohm_nindexes <= H5SM_MAX_NUM_INDEXES);
/* Read in the shared OH message information if there is any */
- if(H5SM_get_info(f, index_flags, &sohm_l2b, &sohm_b2l, dxpl_id) < 0)
+ if(H5SM_get_info(f, index_flags, minsizes, &sohm_l2b, &sohm_b2l, dxpl_id) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, FAIL, "unable to read SOHM table information")
/* Set values in the property list */
@@ -387,6 +388,8 @@ H5F_read_superblock(H5F_t *f, hid_t dxpl_id, H5G_loc_t *root_loc, haddr_t addr,
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set number of SOHM indexes");
if(H5P_set(c_plist, H5F_CRT_SHMSG_INDEX_TYPES_NAME, index_flags) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set type flags for indexes");
+ if(H5P_set(c_plist, H5F_CRT_SHMSG_INDEX_MINSIZE_NAME, minsizes) < 0)
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set type flags for indexes");
if(H5P_set(c_plist, H5F_CRT_SHMSG_LIST_MAX_NAME, &sohm_l2b) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't set SOHM cutoff in property list");
if(H5P_set(c_plist, H5F_CRT_SHMSG_BTREE_MIN_NAME, &sohm_b2l) < 0)