diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2006-10-02 10:24:03 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2006-10-02 10:24:03 (GMT) |
commit | a6f6462541cc57364586f770131e2ea074d63492 (patch) | |
tree | 0debf502fb7d66f9f470edb935a62223945960d4 /src/H5FS.c | |
parent | 9bc29ea538b9ce2013a8cde5be230c18cf052009 (diff) | |
download | hdf5-a6f6462541cc57364586f770131e2ea074d63492.zip hdf5-a6f6462541cc57364586f770131e2ea074d63492.tar.gz hdf5-a6f6462541cc57364586f770131e2ea074d63492.tar.bz2 |
[svn-r12700] Alert:
File format is not stable, don't keep files produced!
Description:
First stage of checkins modifying the format of groups to support creation
order. Implement "dense" storage for links in groups.
Try to clarify some of the symbols for the H5L API.
Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)
Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).
Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.
Clean up lots of compiler warnings and other minor formatting issues.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-v1.6 compa
Mac OSX/32 10.4.8 (amazon)
AIX 5.3 (copper) w/parallel & FORTRAN
Diffstat (limited to 'src/H5FS.c')
-rw-r--r-- | src/H5FS.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -231,6 +231,7 @@ herr_t H5FS_delete(H5F_t *f, hid_t dxpl_id, haddr_t fs_addr) { H5FS_t *fspace = NULL; /* Free space header loaded from file */ + H5FS_prot_t fs_prot; /* Temporary information for protecting free space header */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI(H5FS_delete, FAIL) @@ -242,8 +243,14 @@ HDfprintf(stderr, "%s: Deleting free space manager\n", FUNC); HDassert(f); HDassert(H5F_addr_defined(fs_addr)); + /* Initialize user data for protecting the free space manager */ + /* (no class information necessary for delete) */ + fs_prot.nclasses = 0; + fs_prot.classes = NULL; + fs_prot.cls_init_udata = NULL; + /* Protect the free space header */ - if(NULL == (fspace = H5AC_protect(f, dxpl_id, H5AC_FSPACE_HDR, fs_addr, NULL, NULL, H5AC_WRITE))) + if(NULL == (fspace = H5AC_protect(f, dxpl_id, H5AC_FSPACE_HDR, fs_addr, &fs_prot, NULL, H5AC_WRITE))) HGOTO_ERROR(H5E_FSPACE, H5E_CANTPROTECT, FAIL, "unable to protect free space header") /* Delete serialized section storage, if there are any */ @@ -404,7 +411,7 @@ H5FS_new(size_t nclasses, const H5FS_section_class_t *classes[], FUNC_ENTER_NOAPI_NOINIT(H5FS_new) /* Check arguments. */ - HDassert(nclasses || classes); + HDassert(nclasses == 0 || (nclasses > 0 && classes)); /* * Allocate free space structure |