summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-12-10 14:09:40 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-12-10 14:09:40 (GMT)
commitcc6eb939f4dec06e234835acbb5b3bc269b228c5 (patch)
treec4a9f78fd8217d14e55030350ad1985c1f969ef7
parent122819fec3af15e67421872cd5e11415d6653ab9 (diff)
parent02879bc4b2ba161dc259bf28a71e7a99b44be0e3 (diff)
downloadhdf5-cc6eb939f4dec06e234835acbb5b3bc269b228c5.zip
hdf5-cc6eb939f4dec06e234835acbb5b3bc269b228c5.tar.gz
hdf5-cc6eb939f4dec06e234835acbb5b3bc269b228c5.tar.bz2
Merge pull request #191 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:eoc_h5fs_fix to develop
Final fix for evict-on-close issues with new-style groups. * commit '02879bc4b2ba161dc259bf28a71e7a99b44be0e3': Updated the H5FS cache code to grab the correct tag and modified the freespace test to use dxpls that have been tagged with the H5AC__FREESPACE_TAG global tag instead of H5AC_ind_read_dxpl_id. The library code now expects the owner of the free space manager to tag it so the owner-less free space managers in the freespace tag had to be tagged with *something* to avoid cache errors. Changed the name of H5MF_alloc_close() to H5MF__alloc_close() to make the FUNC_ENTER macro happy. Reverted the freespace test. The TAG macros in H5MF_get_freespace() make the changes unnecessary. Added missing TAG macros to H5MF_get_freespace(). Updated the freespace test so functions take a common, tagged dxpl so the test will work with the new H5FS tag changes. Updated the cache_tagging test so it correctly analyzes the new fractal heap free space manager behavior. Added TAG macros to the H5MF package code so H5AC__FREESPACE_TAG gets set on the dxpl correctly. Also restored the TAG macro to H5FS__cache_hdr_pre_serialize() since otherwise the tag won't be initialized. First cut at fixing the tagging issue with the free space managers. * Converted the tag macros to regular ones so the parent's tag is used via the dxpl.
-rw-r--r--src/H5AC.c34
-rw-r--r--src/H5ACprivate.h1
-rw-r--r--src/H5Cprivate.h1
-rw-r--r--src/H5Ctag.c42
-rw-r--r--src/H5FS.c29
-rw-r--r--src/H5FScache.c33
-rw-r--r--src/H5FSsection.c4
-rw-r--r--src/H5MF.c56
-rw-r--r--src/H5MFdbg.c8
-rw-r--r--test/cache_tagging.c213
-rw-r--r--test/evict_on_close.c4
-rw-r--r--test/freespace.c589
12 files changed, 514 insertions, 500 deletions
diff --git a/src/H5AC.c b/src/H5AC.c
index 561f10c..f68c7a9 100644
--- a/src/H5AC.c
+++ b/src/H5AC.c
@@ -2557,6 +2557,40 @@ done:
} /* H5AC_expunge_tag_type_metadata*/
+/*------------------------------------------------------------------------------
+ * Function: H5AC_get_tag()
+ *
+ * Purpose: Get the tag for a metadata cache entry.
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Dana Robinson
+ * Fall 2016
+ *
+ *------------------------------------------------------------------------------
+ */
+herr_t
+H5AC_get_tag(const void *thing, haddr_t *tag)
+{
+ /* Variable Declarations */
+ herr_t ret_value = SUCCEED;
+
+ /* Function Enter Macro */
+ FUNC_ENTER_NOAPI(FAIL)
+
+ /* Assertions */
+ HDassert(thing);
+ HDassert(tag);
+
+ /* Call cache level function to get the tag */
+ if(H5C_get_tag(thing, tag) < 0)
+ HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "Cannot get tag for metadata cache entry")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5AC_get_tag() */
+
+
/*-------------------------------------------------------------------------
* Function: H5AC_cork
*
diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h
index 76013a3..bbaa614 100644
--- a/src/H5ACprivate.h
+++ b/src/H5ACprivate.h
@@ -403,6 +403,7 @@ H5_DLL herr_t H5AC_set_ring(hid_t dxpl_id, H5AC_ring_t ring, H5P_genplist_t **dx
H5AC_ring_t *orig_ring);
H5_DLL herr_t H5AC_reset_ring(H5P_genplist_t *dxpl, H5AC_ring_t orig_ring);
H5_DLL herr_t H5AC_expunge_tag_type_metadata(H5F_t *f, hid_t dxpl_id, haddr_t tag, int type_id, unsigned flags);
+H5_DLL herr_t H5AC_get_tag(const void *thing, /*OUT*/ haddr_t *tag);
/* Virtual entry routines */
H5_DLL H5AC_proxy_entry_t *H5AC_proxy_entry_create(void);
diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h
index baa80a2..ed75bec 100644
--- a/src/H5Cprivate.h
+++ b/src/H5Cprivate.h
@@ -1726,6 +1726,7 @@ H5_DLL herr_t H5C_flush_cache(H5F_t *f, hid_t dxpl_id, unsigned flags);
H5_DLL herr_t H5C_flush_tagged_entries(H5F_t * f, hid_t dxpl_id, haddr_t tag);
H5_DLL herr_t H5C_evict_tagged_entries(H5F_t * f, hid_t dxpl_id, haddr_t tag, hbool_t match_global);
H5_DLL herr_t H5C_expunge_tag_type_metadata(H5F_t *f, hid_t dxpl_id, haddr_t tag, int type_id, unsigned flags);
+H5_DLL herr_t H5C_get_tag(const void *thing, /*OUT*/ haddr_t *tag);
#if H5C_DO_TAGGING_SANITY_CHECKS
herr_t H5C_verify_tag(int id, haddr_t tag);
#endif
diff --git a/src/H5Ctag.c b/src/H5Ctag.c
index 6b47cc7..157a838 100644
--- a/src/H5Ctag.c
+++ b/src/H5Ctag.c
@@ -647,20 +647,13 @@ H5C_verify_tag(int id, haddr_t tag)
} /* end else */
/* Free Space Manager */
- if((id == H5AC_FSPACE_HDR_ID) || (id == H5AC_FSPACE_SINFO_ID)) {
- if(tag != H5AC__FREESPACE_TAG)
- HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "freespace entry not tagged with H5AC__FREESPACE_TAG")
- } /* end if */
- else {
- if(tag == H5AC__FREESPACE_TAG)
+ if(tag == H5AC__FREESPACE_TAG && ((id != H5AC_FSPACE_HDR_ID) && (id != H5AC_FSPACE_SINFO_ID)))
HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "H5AC__FREESPACE_TAG applied to non-freespace entry")
- } /* end else */
/* SOHM */
- if((id == H5AC_SOHM_TABLE_ID) || (id == H5AC_SOHM_LIST_ID)) {
+ if((id == H5AC_SOHM_TABLE_ID) || (id == H5AC_SOHM_LIST_ID))
if(tag != H5AC__SOHM_TAG)
HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "sohm entry not tagged with H5AC__SOHM_TAG")
- } /* end if */
/* Global Heap */
if(id == H5AC_GHEAP_ID) {
@@ -846,3 +839,34 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* H5C_expunge_tag_type_metadata() */
+
+/*-------------------------------------------------------------------------
+ *
+ * Function: H5C_get_tag()
+ *
+ * Purpose: Get the tag for a metadata cache entry.
+ *
+ * Return: SUCCEED (can't fail)
+ *
+ * Programmer: Dana Robinson
+ * Fall 2016
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5C_get_tag(const void *thing, haddr_t *tag /*OUT*/)
+{
+ const H5C_cache_entry_t *entry = (const H5C_cache_entry_t *)thing; /* Pointer to cache entry */
+
+ FUNC_ENTER_NOAPI_NOERR
+
+ HDassert(entry);
+ HDassert(entry->tag_info);
+ HDassert(tag);
+
+ /* Return the tag */
+ *tag = entry->tag_info->tag;
+
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* H5C_get_tag() */
+
diff --git a/src/H5FS.c b/src/H5FS.c
index 8211404..2193d84 100644
--- a/src/H5FS.c
+++ b/src/H5FS.c
@@ -109,7 +109,7 @@ H5FS_create(H5F_t *f, hid_t dxpl_id, haddr_t *fs_addr, const H5FS_create_t *fs_c
H5FS_t *fspace = NULL; /* New free space structure */
H5FS_t *ret_value = NULL; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, NULL)
+ FUNC_ENTER_NOAPI(NULL)
#ifdef H5FS_DEBUG
HDfprintf(stderr, "%s: Creating free space manager, nclasses = %Zu\n", FUNC, nclasses);
#endif /* H5FS_DEBUG */
@@ -168,7 +168,7 @@ done:
#ifdef H5FS_DEBUG
HDfprintf(stderr, "%s: Leaving, ret_value = %d\n", FUNC, ret_value);
#endif /* H5FS_DEBUG */
- FUNC_LEAVE_NOAPI_TAG(ret_value, NULL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_create() */
@@ -193,7 +193,7 @@ H5FS_open(H5F_t *f, hid_t dxpl_id, haddr_t fs_addr, uint16_t nclasses,
H5FS_hdr_cache_ud_t cache_udata; /* User-data for metadata cache callback */
H5FS_t *ret_value = NULL; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, NULL)
+ FUNC_ENTER_NOAPI(NULL)
#ifdef H5FS_DEBUG
HDfprintf(stderr, "%s: Opening free space manager, fs_addr = %a, nclasses = %Zu\n", FUNC, fs_addr, nclasses);
#endif /* H5FS_DEBUG */
@@ -237,7 +237,7 @@ HDfprintf(stderr, "%s: fspace->rc = %u\n", FUNC, fspace->rc);
ret_value = fspace;
done:
- FUNC_LEAVE_NOAPI_TAG(ret_value, NULL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_open() */
@@ -260,7 +260,7 @@ H5FS_delete(H5F_t *f, hid_t dxpl_id, haddr_t fs_addr)
H5FS_hdr_cache_ud_t cache_udata; /* User-data for metadata cache callback */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_NOAPI(FAIL)
#ifdef H5FS_DEBUG
HDfprintf(stderr, "%s: Deleting free space manager, fs_addr = %a\n", FUNC, fs_addr);
#endif /* H5FS_DEBUG */
@@ -387,7 +387,7 @@ done:
if(fspace && H5AC_unprotect(f, dxpl_id, H5AC_FSPACE_HDR, fs_addr, fspace, H5AC__DELETED_FLAG | H5AC__FREE_FILE_SPACE_FLAG) < 0)
HDONE_ERROR(H5E_FSPACE, H5E_CANTUNPROTECT, FAIL, "unable to release free space header")
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_delete() */
@@ -409,7 +409,7 @@ H5FS_close(H5F_t *f, hid_t dxpl_id, H5FS_t *fspace)
{
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_NOAPI(FAIL)
/* Check arguments. */
HDassert(f);
@@ -570,7 +570,7 @@ done:
#ifdef H5FS_DEBUG
HDfprintf(stderr, "%s: Leaving, ret_value = %d, fspace->rc = %u\n", FUNC, ret_value, fspace->rc);
#endif /* H5FS_DEBUG */
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_close() */
@@ -825,7 +825,7 @@ H5FS_alloc_hdr(H5F_t *f, H5FS_t *fspace, haddr_t *fs_addr, hid_t dxpl_id)
{
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_NOAPI(FAIL)
/* Check arguments. */
HDassert(f);
@@ -845,7 +845,7 @@ H5FS_alloc_hdr(H5F_t *f, H5FS_t *fspace, haddr_t *fs_addr, hid_t dxpl_id)
*fs_addr = fspace->addr;
done:
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_alloc_hdr() */
@@ -866,7 +866,7 @@ H5FS_alloc_sect(H5F_t *f, H5FS_t *fspace, hid_t dxpl_id)
{
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_NOAPI(FAIL)
/* Check arguments. */
HDassert(f);
@@ -892,7 +892,7 @@ H5FS_alloc_sect(H5F_t *f, H5FS_t *fspace, hid_t dxpl_id)
} /* end if */
done:
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_alloc_sect() */
@@ -915,7 +915,7 @@ H5FS_free(H5F_t *f, H5FS_t *fspace, hid_t dxpl_id)
unsigned cache_flags; /* Flags for unprotecting cache entries */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_NOAPI(FAIL)
/* Check arguments. */
HDassert(f);
@@ -1001,7 +1001,7 @@ H5FS_free(H5F_t *f, H5FS_t *fspace, hid_t dxpl_id)
} /* end if */
done:
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_free() */
@@ -1213,3 +1213,4 @@ HDfprintf(stderr, "%s: fspace->tot_sect_count = %Hu\n", "H5FS_assert", fspace->t
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5FS_assert() */
#endif /* H5FS_DEBUG_ASSERT */
+
diff --git a/src/H5FScache.c b/src/H5FScache.c
index f43676d..42eccff 100644
--- a/src/H5FScache.c
+++ b/src/H5FScache.c
@@ -413,7 +413,7 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
H5AC_ring_t orig_ring = H5AC_RING_INV; /* Original ring value */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_STATIC_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_STATIC
/* Sanity check */
HDassert(f);
@@ -439,7 +439,7 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
/* This implies that the header "owns" the section info.
*
* Unfortunately, the comments in the code are not clear as to
- * what this means, but from reviewing the code (most particularly
+ * what this means, but from reviewing the code (most particularly
* H5FS_close(), H5FS_sinfo_lock, and H5FS_sinfo_unlock()), I
* gather that it means that the header is maintaining a pointer to
* an instance of H5FS_sinfo_t in which free space data is
@@ -483,7 +483,7 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
* disk if it doesn't exist. Similarly, since the section info
* will not be stored to disk unless the header is,
* H5F_addr_defined(fspace->addr) must hold as well.
- *
+ *
* As the objective is to touch up the free space manager header
* so that it contains sensical data on the size and location of
* the section information, we have to handle each of the above
@@ -497,8 +497,8 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
* Otherwise, allocate space for the section info in real
* file space, insert the section info at this location, and
* set fspace->sect_addr, fspace->sect_size, and
- * fspace->alloc_sect_size to reflect the new location
- * of the section info. Note that it is not necessary to
+ * fspace->alloc_sect_size to reflect the new location
+ * of the section info. Note that it is not necessary to
* force a write of the section info.
*
* Case 2) Allocate space for the section info in real file space,
@@ -515,19 +515,28 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
* serialize the header if it thought it was clean.
*/
if(fspace->serial_sect_count > 0 && H5F_addr_defined(fspace->addr)) {
- /* Sanity check */
+ /* Sanity check */
HDassert(fspace->sect_size > 0);
if(!H5F_addr_defined(fspace->sect_addr)) { /* case 1 */
- /* allocate file space for the section info, and insert it
+
+ haddr_t tag = HADDR_UNDEF;
+
+ /* allocate file space for the section info, and insert it
* into the metadata cache.
*/
if(HADDR_UNDEF == (fspace->sect_addr = H5MF_alloc((H5F_t *)f, H5FD_MEM_FSPACE_SINFO, dxpl_id, fspace->sect_size)))
HGOTO_ERROR(H5E_FSPACE, H5E_NOSPACE, FAIL, "file allocation failed for free space sections")
fspace->alloc_sect_size = (size_t)fspace->sect_size;
- if(H5AC_insert_entry((H5F_t *)f, dxpl_id, H5AC_FSPACE_SINFO, fspace->sect_addr, fspace->sinfo, H5AC__NO_FLAGS_SET) < 0)
- HGOTO_ERROR(H5E_FSPACE, H5E_CANTINIT, FAIL, "can't add free space sections to cache")
+
+ /* Get the tag for this free space manager and use it to insert the entry */
+ if(H5AC_get_tag((const void *)fspace, &tag) < 0)
+ HGOTO_ERROR(H5E_FSPACE, H5E_CANTTAG, FAIL, "can't get tag for metadata cache object")
+ H5_BEGIN_TAG(dxpl_id, tag, FAIL)
+ if(H5AC_insert_entry((H5F_t *)f, dxpl_id, H5AC_FSPACE_SINFO, fspace->sect_addr, fspace->sinfo, H5AC__NO_FLAGS_SET) < 0)
+ HGOTO_ERROR_TAG(H5E_FSPACE, H5E_CANTINIT, FAIL, "can't add free space sections to cache")
+ H5_END_TAG(FAIL)
HDassert(fspace->sinfo->cache_info.size == fspace->alloc_sect_size);
@@ -539,7 +548,7 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
else if(H5F_IS_TMP_ADDR(f, fspace->sect_addr)) { /* case 2 */
haddr_t new_sect_addr;
- /* move the section info from temporary (AKA imaginary) file
+ /* move the section info from temporary (AKA imaginary) file
* space to real file space.
*/
@@ -595,7 +604,7 @@ H5FS__cache_hdr_pre_serialize(const H5F_t *f, hid_t dxpl_id, void *_thing,
unsigned sect_status = 0;
haddr_t new_sect_addr;
- /* we have work to do -- must relocate section info into
+ /* we have work to do -- must relocate section info into
* real file space.
*
* Since the section info address is in temporary space (AKA
@@ -645,7 +654,7 @@ done:
if(H5AC_reset_ring(dxpl, orig_ring) < 0)
HDONE_ERROR(H5E_FSPACE, H5E_CANTSET, FAIL, "unable to set property value")
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* end H5FS__cache_hdr_pre_serialize() */
diff --git a/src/H5FSsection.c b/src/H5FSsection.c
index 4697bd50..766a823 100644
--- a/src/H5FSsection.c
+++ b/src/H5FSsection.c
@@ -208,7 +208,7 @@ H5FS_sinfo_lock(H5F_t *f, hid_t dxpl_id, H5FS_t *fspace, unsigned accmode)
H5FS_sinfo_cache_ud_t cache_udata; /* User-data for cache callback */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
+ FUNC_ENTER_NOAPI_NOINIT
#ifdef H5FS_SINFO_DEBUG
HDfprintf(stderr, "%s: Called, fspace->addr = %a, fspace->sinfo = %p, fspace->sect_addr = %a\n", FUNC, fspace->addr, fspace->sinfo, fspace->sect_addr);
@@ -298,7 +298,7 @@ done:
HDfprintf(stderr, "%s: Leaving, fspace->addr = %a, fspace->sinfo = %p, fspace->sect_addr = %a\n", FUNC, fspace->addr, fspace->sinfo, fspace->sect_addr);
HDfprintf(stderr, "%s: fspace->alloc_sect_size = %Hu, fspace->sect_size = %Hu\n", FUNC, fspace->alloc_sect_size, fspace->sect_size);
#endif /* H5FS_SINFO_DEBUG */
- FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+ FUNC_LEAVE_NOAPI(ret_value)
} /* H5FS_sinfo_lock() */
diff --git a/src/H5MF.c b/src/H5MF.c
index fcc4d46..024cf19 100644
--- a/src/H5MF.c
+++ b/src/H5MF.c
@@ -85,7 +85,7 @@ typedef struct {
/* Allocator routines */
static herr_t H5MF_alloc_create(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type);
-static herr_t H5MF_alloc_close(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type);
+static herr_t H5MF__alloc_close(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type);
static herr_t H5MF__close_delete(H5F_t *f, hid_t dxpl_id);
@@ -245,7 +245,7 @@ H5MF_alloc_open(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type)
H5AC_ring_t orig_ring = H5AC_RING_INV; /* Original ring value */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT
+ FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/*
* Check arguments.
@@ -274,7 +274,7 @@ done:
if(H5AC_reset_ring(dxpl, orig_ring) < 0)
HDONE_ERROR(H5E_RESOURCE, H5E_CANTSET, FAIL, "unable to set property value")
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_alloc_open() */
@@ -301,7 +301,7 @@ H5MF_alloc_create(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type)
herr_t ret_value = SUCCEED; /* Return value */
H5FS_create_t fs_create; /* Free space creation parameters */
- FUNC_ENTER_NOAPI_NOINIT
+ FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/*
* Check arguments.
@@ -329,7 +329,7 @@ H5MF_alloc_create(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type)
f->shared->fs_state[type] = H5F_FS_STATE_OPEN;
done:
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_alloc_create() */
@@ -379,7 +379,7 @@ done:
/*-------------------------------------------------------------------------
- * Function: H5MF_alloc_close
+ * Function: H5MF__alloc_close
*
* Purpose: Close an existing free space manager of TYPE for file
*
@@ -391,11 +391,11 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5MF_alloc_close(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type)
+H5MF__alloc_close(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type)
{
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT
+ FUNC_ENTER_STATIC_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/*
* Check arguments.
@@ -413,8 +413,8 @@ H5MF_alloc_close(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type)
f->shared->fs_state[type] = H5F_FS_STATE_CLOSED;
done:
- FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5MF_alloc_close() */
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
+} /* end H5MF__alloc_close() */
/*-------------------------------------------------------------------------
@@ -442,7 +442,7 @@ H5MF_alloc(H5F_t *f, H5FD_mem_t alloc_type, hid_t dxpl_id, hsize_t size)
H5FD_mem_t fs_type; /* Free space type (mapped from allocation type) */
haddr_t ret_value = HADDR_UNDEF; /* Return value */
- FUNC_ENTER_NOAPI(HADDR_UNDEF)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, HADDR_UNDEF)
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: alloc_type = %u, size = %Hu\n", FUNC, (unsigned)alloc_type, size);
#endif /* H5MF_ALLOC_DEBUG */
@@ -543,7 +543,7 @@ HDfprintf(stderr, "%s: Leaving: ret_value = %a, size = %Hu\n", FUNC, ret_value,
H5MF_sects_dump(f, dxpl_id, stderr);
#endif /* H5MF_ALLOC_DEBUG_DUMP */
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, HADDR_UNDEF)
} /* end H5MF_alloc() */
@@ -633,7 +633,7 @@ H5MF_xfree(const H5F_t *f, H5FD_mem_t alloc_type, hid_t dxpl_id, haddr_t addr,
H5FD_mem_t fs_type; /* Free space type (mapped from allocation type) */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Entering - alloc_type = %u, addr = %a, size = %Hu\n", FUNC, (unsigned)alloc_type, addr, size);
#endif /* H5MF_ALLOC_DEBUG */
@@ -774,7 +774,7 @@ HDfprintf(stderr, "%s: Leaving, ret_value = %d\n", FUNC, ret_value);
#ifdef H5MF_ALLOC_DEBUG_DUMP
H5MF_sects_dump(f, dxpl_id, stderr);
#endif /* H5MF_ALLOC_DEBUG_DUMP */
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_xfree() */
@@ -802,7 +802,7 @@ H5MF_try_extend(H5F_t *f, hid_t dxpl_id, H5FD_mem_t alloc_type, haddr_t addr,
H5FD_mem_t map_type; /* Mapped type */
htri_t ret_value = FAIL; /* Return value */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Entering: alloc_type = %u, addr = %a, size = %Hu, extra_requested = %Hu\n", FUNC, (unsigned)alloc_type, addr, size, extra_requested);
#endif /* H5MF_ALLOC_DEBUG */
@@ -861,7 +861,7 @@ HDfprintf(stderr, "%s: Leaving: ret_value = %t\n", FUNC, ret_value);
H5MF_sects_dump(f, dxpl_id, stderr);
#endif /* H5MF_ALLOC_DEBUG_DUMP */
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_try_extend() */
@@ -900,7 +900,7 @@ H5MF_get_freespace(H5F_t *f, hid_t dxpl_id, hsize_t *tot_space, hsize_t *meta_si
hbool_t eoa_shrank; /* Whether an EOA shrink occurs */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/* check args */
HDassert(f);
@@ -991,7 +991,7 @@ H5MF_get_freespace(H5F_t *f, hid_t dxpl_id, hsize_t *tot_space, hsize_t *meta_si
/* Close the free-space managers if they were opened earlier in this routine */
for(type = H5FD_MEM_DEFAULT; type < H5FD_MEM_NTYPES; H5_INC_ENUM(H5FD_mem_t, type)) {
if(fs_started[type])
- if(H5MF_alloc_close(f, dxpl_id, type) < 0)
+ if(H5MF__alloc_close(f, dxpl_id, type) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, FAIL, "can't close file free space")
} /* end for */
@@ -1007,7 +1007,7 @@ done:
if(H5AC_reset_ring(dxpl, orig_ring) < 0)
HDONE_ERROR(H5E_RESOURCE, H5E_CANTSET, FAIL, "unable to set property value")
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_get_freespace() */
@@ -1108,7 +1108,7 @@ H5MF_close_shrink_eoa(H5F_t *f, hid_t dxpl_id)
H5MF_sect_ud_t udata; /* User data for callback */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI_NOINIT
+ FUNC_ENTER_NOAPI_NOINIT_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/* check args */
HDassert(f);
@@ -1143,7 +1143,7 @@ H5MF_close_shrink_eoa(H5F_t *f, hid_t dxpl_id)
} while(eoa_shrank);
done:
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_close_shrink_eoa() */
@@ -1166,7 +1166,7 @@ H5MF__close_delete(H5F_t *f, hid_t dxpl_id)
H5FD_mem_t type; /* Memory type for iteration */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_STATIC
+ FUNC_ENTER_STATIC_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Entering\n", FUNC);
#endif /* H5MF_ALLOC_DEBUG */
@@ -1229,7 +1229,7 @@ done:
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Leaving\n", FUNC);
#endif /* H5MF_ALLOC_DEBUG */
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* H5MF__close_delete() */
@@ -1308,7 +1308,7 @@ H5MF_close(H5F_t *f, hid_t dxpl_id)
H5FD_mem_t type; /* Memory type for iteration */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Entering\n", FUNC);
#endif /* H5MF_ALLOC_DEBUG */
@@ -1446,7 +1446,7 @@ done:
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Leaving\n", FUNC);
#endif /* H5MF_ALLOC_DEBUG */
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_close() */
@@ -1506,7 +1506,7 @@ H5MF_get_free_sections(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, size_t nsects,
H5FD_mem_t ty; /* Memory type for iteration */
ssize_t ret_value = -1; /* Return value */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/* check args */
HDassert(f);
@@ -1567,7 +1567,7 @@ H5MF_get_free_sections(H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, size_t nsects,
/* Close the free space manager of this type, if we started it here */
if(fs_started)
- if(H5MF_alloc_close(f, dxpl_id, ty) < 0)
+ if(H5MF__alloc_close(f, dxpl_id, ty) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTCLOSEOBJ, FAIL, "can't close file free space")
} /* end for */
@@ -1579,6 +1579,6 @@ done:
if(H5AC_reset_ring(dxpl, orig_ring) < 0)
HDONE_ERROR(H5E_RESOURCE, H5E_CANTSET, FAIL, "unable to set property value")
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* H5MF_get_free_sections() */
diff --git a/src/H5MFdbg.c b/src/H5MFdbg.c
index 59da9e8..6d5d994 100644
--- a/src/H5MFdbg.c
+++ b/src/H5MFdbg.c
@@ -158,7 +158,7 @@ H5MF_sects_debug(H5F_t *f, hid_t dxpl_id, haddr_t fs_addr, FILE *stream, int ind
herr_t ret_value = SUCCEED; /* Return value */
H5FD_mem_t type; /* Memory type for iteration */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
/*
* Check arguments.
@@ -195,7 +195,7 @@ H5MF_sects_debug(H5F_t *f, hid_t dxpl_id, haddr_t fs_addr, FILE *stream, int ind
}
done:
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* H5MF_sects_debug() */
#ifdef H5MF_ALLOC_DEBUG_DUMP
@@ -226,7 +226,7 @@ H5MF_sects_dump(H5F_t *f, hid_t dxpl_id, FILE *stream)
int fwidth = 50; /* Field width */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_NOAPI(FAIL)
+ FUNC_ENTER_NOAPI_TAG(dxpl_id, H5AC__FREESPACE_TAG, FAIL)
#ifdef H5MF_ALLOC_DEBUG
HDfprintf(stderr, "%s: Dumping file free space sections\n", FUNC);
#endif /* H5MF_ALLOC_DEBUG */
@@ -300,7 +300,7 @@ HDfprintf(stderr, "%s: sda_addr = %a, sda_size = %Hu, end of sda = %a\n", FUNC,
done:
HDfprintf(stderr, "%s: Done dumping file free space sections\n", FUNC);
- FUNC_LEAVE_NOAPI(ret_value)
+ FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5MF_sects_dump() */
#endif /* H5MF_ALLOC_DEBUG_DUMP */
diff --git a/test/cache_tagging.c b/test/cache_tagging.c
index b94ceb9..473851e 100644
--- a/test/cache_tagging.c
+++ b/test/cache_tagging.c
@@ -56,8 +56,7 @@
/* ===================== */
/* Helper Functions */
-static void print_entry_type_to_screen(int id);
-static int print_index(hid_t fid);
+static int dump_cache(hid_t fid);
static int verify_no_unknown_tags(hid_t fid);
static int mark_all_entries_investigated(hid_t fid);
static int reset_all_entries_investigated(hid_t fid);
@@ -98,126 +97,10 @@ static unsigned check_invalid_tag_application(void);
/* Helper Functions */
/* ================ */
-
-/*-------------------------------------------------------------------------
- *
- * Function: print_entry_type_to_screen
- *
- * Purpose: DEBUG CODE (for when verbose is set).
- *
- * Prints type of entry to stdout.
- *
- * Return: void
- *
- * Programmer: Mike McGreevy
- * September 3, 2009
- *
- *-------------------------------------------------------------------------
- */
-static void
-print_entry_type_to_screen(int id)
-{
- HDfprintf(stdout, "Type = ");
-
- switch (id) {
- case H5AC_BT_ID:
- HDfprintf(stdout, "v1 B-tree Node");
- break;
- case H5AC_SNODE_ID:
- HDfprintf(stdout, "Symbol Table Node");
- break;
- case H5AC_LHEAP_PRFX_ID:
- HDfprintf(stdout, "Local Heap Prefix");
- break;
- case H5AC_LHEAP_DBLK_ID:
- HDfprintf(stdout, "Local Heap Data Block");
- break;
- case H5AC_GHEAP_ID:
- HDfprintf(stdout, "Global Heap");
- break;
- case H5AC_OHDR_ID:
- HDfprintf(stdout, "Object Header");
- break;
- case H5AC_OHDR_CHK_ID:
- HDfprintf(stdout, "Object Header Chunk");
- break;
- case H5AC_BT2_HDR_ID:
- HDfprintf(stdout, "v2 B-tree Header");
- break;
- case H5AC_BT2_INT_ID:
- HDfprintf(stdout, "v2 B-tree Internal Node");
- break;
- case H5AC_BT2_LEAF_ID:
- HDfprintf(stdout, "v2 B-tree Leaf Node");
- break;
- case H5AC_FHEAP_HDR_ID:
- HDfprintf(stdout, "Fractal Heap Header");
- break;
- case H5AC_FHEAP_DBLOCK_ID:
- HDfprintf(stdout, "Fractal Heap Direct Block");
- break;
- case H5AC_FHEAP_IBLOCK_ID:
- HDfprintf(stdout, "Fractal Heap Indirect Block");
- break;
- case H5AC_FSPACE_HDR_ID:
- HDfprintf(stdout, "Free Space Header");
- break;
- case H5AC_FSPACE_SINFO_ID:
- HDfprintf(stdout, "Free Space Section");
- break;
- case H5AC_SOHM_TABLE_ID:
- HDfprintf(stdout, "Shared Object Header Message Master Table");
- break;
- case H5AC_SOHM_LIST_ID:
- HDfprintf(stdout, "Shared Message Index Stored As A List");
- break;
- case H5AC_EARRAY_HDR_ID:
- HDfprintf(stdout, "Extensible Array Header");
- break;
- case H5AC_EARRAY_IBLOCK_ID:
- HDfprintf(stdout, "Extensible Array Index Block");
- break;
- case H5AC_EARRAY_SBLOCK_ID:
- HDfprintf(stdout, "Extensible Array Super Block");
- break;
- case H5AC_EARRAY_DBLOCK_ID:
- HDfprintf(stdout, "Extensible Array Data Block");
- break;
- case H5AC_EARRAY_DBLK_PAGE_ID:
- HDfprintf(stdout, "Extensible Array Data Block Page");
- break;
- case H5AC_FARRAY_HDR_ID:
- HDfprintf(stdout, "Fixed Array Header");
- break;
- case H5AC_FARRAY_DBLOCK_ID:
- HDfprintf(stdout, "Fixed Array Data Block");
- break;
- case H5AC_FARRAY_DBLK_PAGE_ID:
- HDfprintf(stdout, "Fixed Array Data Block Page");
- break;
- case H5AC_SUPERBLOCK_ID:
- HDfprintf(stdout, "File Superblock");
- break;
- case H5AC_DRVRINFO_ID:
- HDfprintf(stdout, "Driver Info Block");
- break;
- case H5AC_TEST_ID:
- HDfprintf(stdout, "Test Entry");
- break;
- case H5AC_NTYPES:
- HDfprintf(stdout, "BADNESS: Number of Types");
- break;
- default:
- HDfprintf(stdout, "BADNESS: *Unknown*");
- break;
- } /* end switch */
-
- HDfprintf(stdout, " (%d)", id);
-} /* print_entry_type_to_screen */
/*-------------------------------------------------------------------------
- * Function: print_index()
+ * Function: dump_cache()
*
* Purpose: DEBUG CODE (for when verbose is set).
*
@@ -231,41 +114,23 @@ print_entry_type_to_screen(int id)
*
*-------------------------------------------------------------------------
*/
-static int print_index(hid_t fid)
+static int dump_cache(hid_t fid)
{
H5F_t *f; /* File Pointer */
- H5C_t *cache_ptr; /* Cache Pointer */
- int i; /* Iterator */
/* Get Internal File / Cache Pointers */
if(NULL == (f = (H5F_t *)H5I_object(fid)))
TEST_ERROR;
- cache_ptr = f->shared->cache;
-
- /* Initial (debugging) loop */
- printf("CACHE SNAPSHOT:\n");
- for(i = 0; i < H5C__HASH_TABLE_LEN; i++) {
- H5C_cache_entry_t *entry_ptr; /* entry pointer */
- entry_ptr = cache_ptr->index[i];
- while(entry_ptr != NULL) {
- HDfprintf(stdout, "Addr = %a, ", entry_ptr->addr);
- HDfprintf(stdout, "Tag = %a, ", entry_ptr->tag_info ? entry_ptr->tag_info->tag : HADDR_UNDEF);
- HDfprintf(stdout, "Dirty = %t, ", entry_ptr->is_dirty);
- HDfprintf(stdout, "Dirtied = %t, ", entry_ptr->dirtied);
- print_entry_type_to_screen(entry_ptr->type->id);
- printf("\n");
-
- entry_ptr = entry_ptr->ht_next;
- } /* end while */
- } /* end for */
- printf("\n");
+ /* Dump the cache */
+ if(H5AC_dump_cache(f) < 0)
+ TEST_ERROR;
return 0;
error:
return -1;
-} /* print_index */
+} /* dump_cache */
/*-------------------------------------------------------------------------
@@ -584,7 +449,7 @@ check_file_creation_tags(hid_t fcpl_id, int type)
if ( (fid = H5Fcreate(FILENAME, H5F_ACC_TRUNC, fcpl_id, H5P_DEFAULT)) < 0 ) TEST_ERROR;
/* if verbose, print cache index to screen before verification . */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify there is a superblock entry with superblock tag */
if ( verify_tag(fid, H5AC_SUPERBLOCK_ID, H5AC__SUPERBLOCK_TAG) < 0 ) TEST_ERROR;
@@ -690,7 +555,7 @@ check_file_open_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen before verification . */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify there is a superblock entry with superblock tag. */
if ( verify_tag(fid, H5AC_SUPERBLOCK_ID, H5AC__SUPERBLOCK_TAG) < 0 ) TEST_ERROR;
@@ -792,7 +657,7 @@ check_group_creation_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group's tagged metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -895,7 +760,7 @@ check_multi_group_creation_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify there is an object header for each group */
for (i = 0; i < MULTIGROUPS; i++) {
@@ -919,8 +784,8 @@ check_multi_group_creation_tags(void)
} /* end for */
/* Verify free space header and section info */
- if ( verify_tag(fid, H5AC_FSPACE_SINFO_ID, H5AC__FREESPACE_TAG) < 0 ) TEST_ERROR;
- if ( verify_tag(fid, H5AC_FSPACE_HDR_ID, H5AC__FREESPACE_TAG) < 0 ) TEST_ERROR;
+ if ( verify_tag(fid, H5AC_FSPACE_SINFO_ID, root_tag) < 0 ) TEST_ERROR;
+ if ( verify_tag(fid, H5AC_FSPACE_HDR_ID, root_tag) < 0 ) TEST_ERROR;
/* verify fractal heap header belonging to root group */
if ( verify_tag(fid, H5AC_FHEAP_HDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -1027,7 +892,7 @@ check_link_iteration_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group's tagged metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -1144,11 +1009,11 @@ check_dense_attribute_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify free space header and section info */
- if ( verify_tag(fid, H5AC_FSPACE_SINFO_ID, H5AC__FREESPACE_TAG) < 0 ) TEST_ERROR;
- if ( verify_tag(fid, H5AC_FSPACE_HDR_ID, H5AC__FREESPACE_TAG) < 0 ) TEST_ERROR;
+ if ( verify_tag(fid, H5AC_FSPACE_SINFO_ID, d_tag) < 0 ) TEST_ERROR;
+ if ( verify_tag(fid, H5AC_FSPACE_HDR_ID, d_tag) < 0 ) TEST_ERROR;
/* verify object header belonging to dataset */
if ( verify_tag(fid, H5AC_OHDR_ID, d_tag) < 0 ) TEST_ERROR;
@@ -1200,7 +1065,7 @@ check_dense_attribute_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify object header belonging to dataset */
if ( verify_tag(fid, H5AC_OHDR_ID, d_tag) < 0 ) TEST_ERROR;
@@ -1308,7 +1173,7 @@ check_group_open_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -1412,7 +1277,7 @@ check_attribute_creation_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify object header belonging to group */
if ( verify_tag(fid, H5AC_OHDR_ID, g_tag) < 0 ) TEST_ERROR;
@@ -1436,8 +1301,8 @@ check_attribute_creation_tags(hid_t fcpl, int type)
if ( verify_tag(fid, H5AC_FHEAP_DBLOCK_ID, H5AC__SOHM_TAG) < 0 ) TEST_ERROR;
/* Verify free space header and free space section */
- if ( verify_tag(fid, H5AC_FSPACE_HDR_ID, H5AC__FREESPACE_TAG) < 0 ) TEST_ERROR;
- if ( verify_tag(fid, H5AC_FSPACE_SINFO_ID, H5AC__FREESPACE_TAG) < 0 ) TEST_ERROR;
+ if ( verify_tag(fid, H5AC_FSPACE_HDR_ID, H5AC__SOHM_TAG) < 0 ) TEST_ERROR;
+ if ( verify_tag(fid, H5AC_FSPACE_SINFO_ID, H5AC__SOHM_TAG) < 0 ) TEST_ERROR;
/* verify btree header and leaf node belonging to group */
if ( verify_tag(fid, H5AC_BT2_HDR_ID, H5AC__SOHM_TAG) < 0 ) TEST_ERROR;
@@ -1546,7 +1411,7 @@ check_attribute_open_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify object header belonging to group */
if ( verify_tag(fid, H5AC_OHDR_ID, g_tag) < 0 ) TEST_ERROR;
@@ -1688,7 +1553,7 @@ check_attribute_rename_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -1850,7 +1715,7 @@ check_attribute_delete_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify object header belonging to group */
if ( verify_tag(fid, H5AC_OHDR_ID, g_tag) < 0 ) TEST_ERROR;
@@ -1972,7 +1837,7 @@ check_dataset_creation_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -2097,7 +1962,7 @@ check_dataset_creation_earlyalloc_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -2235,7 +2100,7 @@ check_dataset_open_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -2366,7 +2231,7 @@ check_dataset_write_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify 10 b-tree nodes belonging to dataset */
for (i=0; i<10; i++)
@@ -2489,7 +2354,7 @@ check_attribute_write_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify object header of group */
if ( verify_tag(fid, H5AC_OHDR_ID, g_tag) < 0 ) TEST_ERROR;
@@ -2644,7 +2509,7 @@ check_dataset_read_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify 19 b-tree nodes belonging to dataset */
for (i=0; i<19; i++)
@@ -2774,7 +2639,7 @@ check_dataset_size_retrieval(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify 19 b-tree nodes belonging to dataset */
for (i=0; i<19; i++)
@@ -2907,7 +2772,7 @@ check_dataset_extend_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, d_tag) < 0 ) TEST_ERROR;
@@ -3004,7 +2869,7 @@ check_object_info_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group's tagged metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -3110,7 +2975,7 @@ check_object_copy_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group's tagged metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -3260,7 +3125,7 @@ check_link_removal_tags(hid_t fcpl, int type)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group's tagged metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -3409,7 +3274,7 @@ check_link_getname_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group's tagged metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -3509,7 +3374,7 @@ check_external_link_creation_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* Verify root group metadata */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
@@ -3616,7 +3481,7 @@ check_external_link_open_tags(void)
/* =================================== */
/* if verbose, print cache index to screen for visual verification */
- if ( verbose ) print_index(fid);
+ if ( verbose ) dump_cache(fid);
/* verify tag value of first file's root group */
if ( verify_tag(fid, H5AC_OHDR_ID, root_tag) < 0 ) TEST_ERROR;
diff --git a/test/evict_on_close.c b/test/evict_on_close.c
index c42c4b3..e0a7a73 100644
--- a/test/evict_on_close.c
+++ b/test/evict_on_close.c
@@ -294,12 +294,10 @@ generate_eoc_test_file(hid_t fapl_id)
if(HDsnprintf(subgroup_name, (size_t)(SUBGROUP_NAME_SIZE - 1), "%d", i) < 0)
TEST_ERROR
-/* DER - Restore when EoC new-style group bug is resolved.
if((gid2 = H5Gcreate2(gid1, subgroup_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0)
TEST_ERROR;
if(H5Gclose(gid2) < 0)
TEST_ERROR;
-*/
} /* end for */
if(H5Gclose(gid1) < 0)
@@ -955,10 +953,8 @@ main(void)
*/
TESTING("evict on close with old-style groups");
nerrors += check_group_layout(fid, GROUP_OLD_STYLE_NAME) < 0 ? 1 : 0;
-/* DER - Enable when EoC new-style groups bug is fixed
TESTING("evict on close with new-style groups");
nerrors += check_group_layout(fid, GROUP_NEW_STYLE_NAME) < 0 ? 1 : 0;
-*/
/* Close the test file */
if(H5Fclose(fid) < 0) {
diff --git a/test/freespace.c b/test/freespace.c
index 1c28bc2..af53eba 100644
--- a/test/freespace.c
+++ b/test/freespace.c
@@ -214,7 +214,7 @@ TEST_sect_init_cls(H5FS_section_class_t *cls, void *_udata)
init_flags = (unsigned *)_udata;
cls->flags |= *init_flags;
- return(ret_value);
+ return ret_value;
} /* TEST_sect_init_cls() */
/*
@@ -238,7 +238,7 @@ TEST_sect_can_merge(const H5FS_section_info_t *_sect1,
/* Check if second section adjoins first section */
ret_value = H5F_addr_eq(sect1->sect_info.addr + sect1->sect_info.size, sect2->sect_info.addr);
- return(ret_value);
+ return ret_value;
} /* TEST_sect_can_merge() */
/*
@@ -268,9 +268,9 @@ TEST_sect_merging(H5FS_section_info_t *_sect1, H5FS_section_info_t *_sect2,
/* Get rid of second section */
if(TEST_sect_free((H5FS_section_info_t *)sect2) < 0)
- TEST_ERROR
+ TEST_ERROR
error:
- return(ret_value);
+ return ret_value;
} /* TEST_sect_merging() */
/*
@@ -282,7 +282,7 @@ TEST_sect_free(H5FS_section_info_t *sect)
/* Release the section */
HDfree(sect);
- return(0);
+ return 0;
} /* TEST_sect_free() */
/*
@@ -299,18 +299,18 @@ TEST_sect_can_shrink(const H5FS_section_info_t *_sect, void *_udata)
const TEST_free_section_t *sect = (const TEST_free_section_t *)_sect;
haddr_t end, eoa;
- if (can_shrink == NULL)
- return(FALSE);
+ if(can_shrink == NULL)
+ return FALSE;
end = sect->sect_info.addr + sect->sect_info.size;
eoa = TEST_get_eoa();
if (end == eoa)
- *can_shrink = TRUE;
+ *can_shrink = TRUE;
else
- *can_shrink = FALSE;
+ *can_shrink = FALSE;
- return((htri_t)*can_shrink);
+ return (htri_t)*can_shrink;
} /* TEST_sect_can_shrink() */
/*
@@ -325,14 +325,14 @@ TEST_sect_shrinking(H5FS_section_info_t **_sect, void *_udata)
/* address of the section is faked, so, doesn't need to do anything */
/* just free the section node */
if (*can_shrink) {
- if (TEST_sect_free((H5FS_section_info_t *)*sect) < 0)
- TEST_ERROR
- *sect = NULL;
- return(TRUE);
- }
+ if (TEST_sect_free((H5FS_section_info_t *)*sect) < 0)
+ TEST_ERROR
+ *sect = NULL;
+ return TRUE;
+ } /* end if */
error:
- return(FALSE);
+ return FALSE;
}
@@ -359,7 +359,7 @@ TEST_sects_cb(H5FS_section_info_t *_sect, void *_udata)
static haddr_t
TEST_get_eoa(void)
{
- return(g_eoa);
+ return g_eoa;
}
/* supporting routine for shrinking */
@@ -431,10 +431,10 @@ check_stats(const H5F_t *f, const H5FS_t *frsp, frspace_state_t *state)
} /* end if */
/* All tests passed */
- return(0);
+ return 0;
error:
- return(1);
+ return 1;
} /* check_stats() */
/*
@@ -448,6 +448,7 @@ static unsigned
test_fs_create(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -487,14 +488,20 @@ test_fs_create(hid_t fapl)
init_cparam(&cparam);
nclasses = NELMTS(test_classes);
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
if(!H5F_addr_defined(fs_addr))
TEST_ERROR
if (frsp->nclasses != nclasses)
- TEST_ERROR
+ TEST_ERROR
HDmemset(&state, 0, sizeof(frspace_state_t));
if(check_stats(f, frsp, &state))
@@ -507,27 +514,27 @@ test_fs_create(hid_t fapl)
FAIL_STACK_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* reopen the free-space manager */
- if(NULL == (frsp = H5FS_open(f, H5AC_ind_read_dxpl_id, fs_addr,
+ if(NULL == (frsp = H5FS_open(f, dxpl_id, fs_addr,
nclasses, test_classes, NULL, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
if(!H5F_addr_defined(fs_addr))
TEST_ERROR
if (frsp->nclasses != nclasses)
- TEST_ERROR
+ TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -543,17 +550,22 @@ test_fs_create(hid_t fapl)
if(file_size != empty_size)
TEST_ERROR
+ /* Close the dxpl */
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR;
+
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_fs_create() */
@@ -585,6 +597,7 @@ static unsigned
test_fs_sect_add(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl_id (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -625,7 +638,13 @@ test_fs_sect_add(hid_t fapl)
init_cparam(&cparam);
nclasses = NELMTS(test_classes);
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -637,7 +656,7 @@ test_fs_sect_add(hid_t fapl)
init_sect_node(sect_node, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -652,7 +671,7 @@ test_fs_sect_add(hid_t fapl)
fr_meta_size = H5FS_HEADER_SIZE(f) + H5FS_SINFO_PREFIX_SIZE(f);
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
@@ -687,7 +706,7 @@ test_fs_sect_add(hid_t fapl)
nclasses = NELMTS(test_classes);
init_flags = H5FS_CLS_GHOST_OBJ;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -700,7 +719,7 @@ test_fs_sect_add(hid_t fapl)
init_sect_node(sect_node, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
0, NULL) < 0)
FAIL_STACK_ERROR
@@ -715,7 +734,7 @@ test_fs_sect_add(hid_t fapl)
fr_meta_size = H5FS_HEADER_SIZE(f);
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
/* Close the file */
@@ -759,7 +778,7 @@ test_fs_sect_add(hid_t fapl)
nclasses = NELMTS(test_classes);
init_flags = 0;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -774,7 +793,7 @@ test_fs_sect_add(hid_t fapl)
*/
init_sect_node(sect_node, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -785,13 +804,13 @@ test_fs_sect_add(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
+ FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
/* Close the file */
@@ -828,22 +847,22 @@ test_fs_sect_add(hid_t fapl)
nclasses = NELMTS(test_classes);
init_flags = 0;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(!H5F_addr_defined(fs_addr))
TEST_ERROR
if(NULL == (sect_node = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
/*
* Add section A
*/
init_sect_node(sect_node, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
H5FS_ADD_DESERIALIZING, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -855,41 +874,44 @@ test_fs_sect_add(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node) < 0)
+ FAIL_STACK_ERROR
/* Free the section node(s) */
if(TEST_sect_free((H5FS_section_info_t *)sect_node) < 0)
- TEST_ERROR
+ TEST_ERROR
sect_node = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
+ FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
+ FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
if(sect_node)
TEST_sect_free((H5FS_section_info_t *)sect_node);
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_fs_sect_add() */
@@ -917,6 +939,7 @@ static unsigned
test_fs_sect_find(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -946,7 +969,13 @@ test_fs_sect_find(hid_t fapl)
init_cparam(&cparam);
nclasses = NELMTS(test_classes);
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -958,9 +987,9 @@ test_fs_sect_find(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE30, (H5FS_section_info_t **)&node)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if (node_found) TEST_ERROR
@@ -968,8 +997,8 @@ test_fs_sect_find(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
+ FAIL_STACK_ERROR
frsp = NULL;
PASSED()
@@ -977,26 +1006,26 @@ test_fs_sect_find(hid_t fapl)
TESTING("H5FS_sect_find() a section equal to requested-size from free-space");
/* reopen the free-space manager */
- if(NULL == (frsp = H5FS_open(f, H5AC_ind_read_dxpl_id, fs_addr, nclasses,
+ if(NULL == (frsp = H5FS_open(f, dxpl_id, fs_addr, nclasses,
test_classes, NULL, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(!H5F_addr_defined(fs_addr))
TEST_ERROR
if (frsp->nclasses != nclasses)
- TEST_ERROR
+ TEST_ERROR
/*
* Add section A
*/
if(NULL == (sect_node1 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR60, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
HDmemset(&state, 0, sizeof(frspace_state_t));
state.tot_space += sect_node1->sect_info.size;
@@ -1011,13 +1040,13 @@ test_fs_sect_find(hid_t fapl)
* Add section C
*/
if(NULL == (sect_node3 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node3, (haddr_t)(TEST_SECT_ADDR200), (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
state.tot_space += sect_node3->sect_info.size;
state.tot_sect_count += 1;
@@ -1030,13 +1059,13 @@ test_fs_sect_find(hid_t fapl)
* Add section B
*/
if(NULL == (sect_node2 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
state.tot_space += sect_node2->sect_info.size;
state.tot_sect_count += 1;
@@ -1049,13 +1078,13 @@ test_fs_sect_find(hid_t fapl)
* Add section D
*/
if(NULL == (sect_node4 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node4, (haddr_t)TEST_SECT_ADDR300, (hsize_t)TEST_SECT_SIZE80, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node4,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node4,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
state.tot_space += sect_node4->sect_info.size;
state.tot_sect_count += 1;
@@ -1064,40 +1093,40 @@ test_fs_sect_find(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE50, (H5FS_section_info_t **)&node)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if (!node_found) TEST_ERROR
if ((node->sect_info.addr != TEST_SECT_ADDR100) || (node->sect_info.size != TEST_SECT_SIZE50))
- TEST_ERROR
+ TEST_ERROR
if(TEST_sect_free((H5FS_section_info_t *)node) < 0)
- TEST_ERROR
+ TEST_ERROR
/* remove sections A, C and D */
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
- FAIL_STACK_ERROR
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node3) < 0)
- FAIL_STACK_ERROR
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node4) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
+ FAIL_STACK_ERROR
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node3) < 0)
+ FAIL_STACK_ERROR
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node4) < 0)
+ FAIL_STACK_ERROR
/* Free the section node(s) */
if(TEST_sect_free((H5FS_section_info_t *)sect_node1) < 0)
- TEST_ERROR
+ TEST_ERROR
sect_node1 = NULL;
if(TEST_sect_free((H5FS_section_info_t *)sect_node3) < 0)
- TEST_ERROR
+ TEST_ERROR
sect_node3 = NULL;
if(TEST_sect_free((H5FS_section_info_t *)sect_node4) < 0)
- TEST_ERROR
+ TEST_ERROR
sect_node4 = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
+ FAIL_STACK_ERROR
frsp = NULL;
PASSED()
@@ -1105,26 +1134,26 @@ test_fs_sect_find(hid_t fapl)
TESTING("H5FS_sect_find() a section greater than requested-size from free-space");
/* reopen the free-space manager */
- if(NULL == (frsp = H5FS_open(f, H5AC_ind_read_dxpl_id, fs_addr, nclasses,
+ if(NULL == (frsp = H5FS_open(f, dxpl_id, fs_addr, nclasses,
test_classes, NULL, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if(!H5F_addr_defined(fs_addr))
TEST_ERROR
if (frsp->nclasses != nclasses)
- TEST_ERROR
+ TEST_ERROR
/*
* Add section A
*/
if(NULL == (sect_node1 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR60, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
HDmemset(&state, 0, sizeof(frspace_state_t));
state.tot_space += sect_node1->sect_info.size;
@@ -1138,13 +1167,13 @@ test_fs_sect_find(hid_t fapl)
* Add section B
*/
if(NULL == (sect_node2 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR200, (hsize_t)TEST_SECT_SIZE80, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
state.tot_space += sect_node2->sect_info.size;
state.tot_sect_count += 1;
@@ -1153,30 +1182,31 @@ test_fs_sect_find(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE50, (H5FS_section_info_t **)&node)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
- if (!node_found) TEST_ERROR
+ if (!node_found)
+ TEST_ERROR
if ((node->sect_info.addr != TEST_SECT_ADDR200) || (node->sect_info.size < TEST_SECT_SIZE50))
- TEST_ERROR
+ TEST_ERROR
if(TEST_sect_free((H5FS_section_info_t *)node) < 0)
- TEST_ERROR
+ TEST_ERROR
node = NULL;
/* remove sections A */
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
+ FAIL_STACK_ERROR
/* Free the section node(s) */
if(TEST_sect_free((H5FS_section_info_t *)sect_node1) < 0)
- TEST_ERROR
+ TEST_ERROR
sect_node1 = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
+ FAIL_STACK_ERROR
frsp = NULL;
PASSED()
@@ -1184,26 +1214,26 @@ test_fs_sect_find(hid_t fapl)
TESTING("H5FS_sect_find(): cannot find a section with requested-size from free-space");
/* reopen the free-space manager */
- if(NULL == (frsp = H5FS_open(f, H5AC_ind_read_dxpl_id, fs_addr, nclasses,
+ if(NULL == (frsp = H5FS_open(f, dxpl_id, fs_addr, nclasses,
test_classes, NULL, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
if(!H5F_addr_defined(fs_addr))
TEST_ERROR
if (frsp->nclasses != nclasses)
- TEST_ERROR
+ TEST_ERROR
/*
* Add section A
*/
if(NULL == (sect_node1 = (TEST_free_section_t *)HDmalloc(sizeof(TEST_free_section_t))))
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR60, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
HDmemset(&state, 0, sizeof(frspace_state_t));
state.tot_space += sect_node1->sect_info.size;
@@ -1213,38 +1243,40 @@ test_fs_sect_find(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE50, (H5FS_section_info_t **)&node)) < 0)
- FAIL_STACK_ERROR
+ FAIL_STACK_ERROR
if (node_found) TEST_ERROR
/* remove sections A */
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
+ FAIL_STACK_ERROR
/* Free the section node(s) */
if(TEST_sect_free((H5FS_section_info_t *)sect_node1) < 0)
- TEST_ERROR
+ TEST_ERROR
sect_node1 = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
+ FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
- FAIL_STACK_ERROR
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
+ FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
@@ -1255,10 +1287,11 @@ error:
if(sect_node4)
TEST_sect_free((H5FS_section_info_t *)sect_node4);
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_fs_sect_find() */
@@ -1298,6 +1331,7 @@ static unsigned
test_fs_sect_merge(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -1330,7 +1364,13 @@ test_fs_sect_merge(hid_t fapl)
init_cparam(&cparam);
nclasses = NELMTS(test_classes);
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -1345,7 +1385,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1365,7 +1405,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1383,7 +1423,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node3, (haddr_t)TEST_SECT_ADDR60, (hsize_t)TEST_SECT_SIZE10, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1401,7 +1441,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node4, (haddr_t)TEST_SECT_ADDR150, (hsize_t)TEST_SECT_SIZE80, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node4,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node4,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1413,7 +1453,7 @@ test_fs_sect_merge(hid_t fapl)
/* should be able to find the merged section of A, B, C & D */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE10+TEST_SECT_SIZE30+TEST_SECT_SIZE50+TEST_SECT_SIZE80), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1426,12 +1466,12 @@ test_fs_sect_merge(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -1458,7 +1498,7 @@ test_fs_sect_merge(hid_t fapl)
nclasses = NELMTS(test_classes);
init_flags = H5FS_CLS_SEPAR_OBJ;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -1473,7 +1513,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1493,7 +1533,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1506,17 +1546,17 @@ test_fs_sect_merge(hid_t fapl)
TEST_ERROR
/* should not be able to find the merged section of A & B */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE30+TEST_SECT_SIZE50), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
if (node_found) TEST_ERROR
/* remove section A from free-space */
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
FAIL_STACK_ERROR
/* remove section B from free-space */
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2) < 0)
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2) < 0)
FAIL_STACK_ERROR
/* Free the section node(s) */
@@ -1528,12 +1568,12 @@ test_fs_sect_merge(hid_t fapl)
sect_node2 = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -1560,7 +1600,7 @@ test_fs_sect_merge(hid_t fapl)
nclasses = NELMTS(test_classes);
init_flags = 0; /* reset */
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -1575,7 +1615,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR60, (hsize_t)TEST_SECT_SIZE10, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1595,7 +1635,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE_NEW, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1615,7 +1655,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node3, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE_NEW, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1633,7 +1673,7 @@ test_fs_sect_merge(hid_t fapl)
init_sect_node(sect_node4, (haddr_t)TEST_SECT_ADDR150, (hsize_t)TEST_SECT_SIZE80, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node4,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node4,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -1649,14 +1689,14 @@ test_fs_sect_merge(hid_t fapl)
TEST_ERROR
/* should not be able to find a merged section of A, B, C & D */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE10+TEST_SECT_SIZE30+TEST_SECT_SIZE50+TEST_SECT_SIZE80), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
if (node_found) TEST_ERROR
/* should be able to find the merged section of B & C */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE30+TEST_SECT_SIZE50), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1670,7 +1710,7 @@ test_fs_sect_merge(hid_t fapl)
TEST_ERROR
/* should be able to find section A */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE10), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1683,7 +1723,7 @@ test_fs_sect_merge(hid_t fapl)
TEST_ERROR
/* should be able to find section D */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE80), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1696,22 +1736,24 @@ test_fs_sect_merge(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
@@ -1720,10 +1762,11 @@ error:
if(sect_node2)
TEST_sect_free((H5FS_section_info_t *)sect_node2);
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Pclose(dxpl_id);
+ H5Fclose(file);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_fs_sect_merge() */
/*
@@ -1764,6 +1807,7 @@ static unsigned
test_fs_sect_shrink(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -1796,7 +1840,13 @@ test_fs_sect_shrink(hid_t fapl)
TEST_set_eoa((haddr_t)TEST_SECT_ADDR150); /* set end of file address for shrinking */
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -1812,7 +1862,7 @@ test_fs_sect_shrink(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE_NEW, H5FS_SECT_LIVE);
can_shrink = FALSE;
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -1825,7 +1875,7 @@ test_fs_sect_shrink(hid_t fapl)
TEST_ERROR
/* section A should still be there in free-space */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE50), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1846,7 +1896,7 @@ test_fs_sect_shrink(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
can_shrink = FALSE;
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -1857,19 +1907,19 @@ test_fs_sect_shrink(hid_t fapl)
TEST_ERROR
/* section A should not be there in free-space */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE50), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
if (node_found) TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -1897,7 +1947,7 @@ test_fs_sect_shrink(hid_t fapl)
/* does not allow merging */
init_flags = H5FS_CLS_SEPAR_OBJ;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -1912,7 +1962,7 @@ test_fs_sect_shrink(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -1932,7 +1982,7 @@ test_fs_sect_shrink(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -1941,7 +1991,7 @@ test_fs_sect_shrink(hid_t fapl)
TEST_ERROR
/* section B should not be there in free-space */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE50), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1952,7 +2002,7 @@ test_fs_sect_shrink(hid_t fapl)
/* section A should still be there in free-space */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE20), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
@@ -1965,12 +2015,12 @@ test_fs_sect_shrink(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -1996,7 +2046,7 @@ test_fs_sect_shrink(hid_t fapl)
TEST_set_eoa((haddr_t)TEST_SECT_ADDR150); /* set end of file address for shrinking */
init_flags = 0; /* reset */
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2011,7 +2061,7 @@ test_fs_sect_shrink(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -2031,7 +2081,7 @@ test_fs_sect_shrink(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, &can_shrink) < 0)
FAIL_STACK_ERROR
@@ -2041,44 +2091,47 @@ test_fs_sect_shrink(hid_t fapl)
TEST_ERROR
/* section B should not be there in free-space */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE50), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
if (node_found) TEST_ERROR
/* section A should not be there in free-space */
- if((node_found = H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if((node_found = H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)(TEST_SECT_SIZE30), (H5FS_section_info_t **)&node)) < 0)
FAIL_STACK_ERROR
if (node_found) TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_sect_shrink() */
/*
@@ -2102,6 +2155,7 @@ static unsigned
test_fs_sect_change_class(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -2130,8 +2184,14 @@ test_fs_sect_change_class(hid_t fapl)
init_cparam(&cparam);
nclasses = NELMTS(test_classes);
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
init_flags = H5FS_CLS_GHOST_OBJ;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2146,7 +2206,7 @@ test_fs_sect_change_class(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR60, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2166,7 +2226,7 @@ test_fs_sect_change_class(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE_NONE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2177,7 +2237,7 @@ test_fs_sect_change_class(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if (H5FS_sect_change_class(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if (H5FS_sect_change_class(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
TEST_FSPACE_SECT_TYPE_NONE) < 0)
TEST_ERROR
@@ -2186,7 +2246,7 @@ test_fs_sect_change_class(hid_t fapl)
if(check_stats(f, frsp, &state))
TEST_ERROR
- if(H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if(H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE30, (H5FS_section_info_t **)&node) < 0)
FAIL_STACK_ERROR
@@ -2196,7 +2256,7 @@ test_fs_sect_change_class(hid_t fapl)
if(TEST_sect_free((H5FS_section_info_t *)node) < 0)
TEST_ERROR
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2) < 0)
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2) < 0)
FAIL_STACK_ERROR
/* Free the section node(s) */
@@ -2205,12 +2265,12 @@ test_fs_sect_change_class(hid_t fapl)
sect_node2 = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -2237,7 +2297,7 @@ test_fs_sect_change_class(hid_t fapl)
nclasses = NELMTS(test_classes);
init_flags = H5FS_CLS_SEPAR_OBJ;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2252,7 +2312,7 @@ test_fs_sect_change_class(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE30, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2264,7 +2324,7 @@ test_fs_sect_change_class(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE50, TEST_FSPACE_SECT_TYPE_NONE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2276,17 +2336,17 @@ test_fs_sect_change_class(hid_t fapl)
init_sect_node(sect_node3, (haddr_t)TEST_SECT_ADDR200, (hsize_t)TEST_SECT_SIZE80, TEST_FSPACE_SECT_TYPE_NONE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
/* change the class of B to A's class */
- if (H5FS_sect_change_class(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if (H5FS_sect_change_class(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
TEST_FSPACE_SECT_TYPE) < 0)
TEST_ERROR
/* change the class of C to A's class */
- if (H5FS_sect_change_class(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
+ if (H5FS_sect_change_class(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node3,
TEST_FSPACE_SECT_TYPE) < 0)
TEST_ERROR
@@ -2296,7 +2356,7 @@ test_fs_sect_change_class(hid_t fapl)
TEST_ERROR
/* verify that section B has changed class */
- if(H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if(H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE50, (H5FS_section_info_t **)&node) < 0)
FAIL_STACK_ERROR
@@ -2307,7 +2367,7 @@ test_fs_sect_change_class(hid_t fapl)
TEST_ERROR
/* verify that section C has changed class */
- if(H5FS_sect_find(f, H5AC_ind_read_dxpl_id, frsp,
+ if(H5FS_sect_find(f, dxpl_id, frsp,
(hsize_t)TEST_SECT_SIZE80, (H5FS_section_info_t **)&node) < 0)
FAIL_STACK_ERROR
@@ -2318,7 +2378,7 @@ test_fs_sect_change_class(hid_t fapl)
TEST_ERROR
/* remove section A from free-space */
- if(H5FS_sect_remove(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
+ if(H5FS_sect_remove(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1) < 0)
FAIL_STACK_ERROR
/* Free the section node(s) */
@@ -2327,22 +2387,24 @@ test_fs_sect_change_class(hid_t fapl)
sect_node1 = NULL;
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
@@ -2351,10 +2413,11 @@ error:
if(sect_node2)
TEST_sect_free((H5FS_section_info_t *)sect_node2);
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_sect_change_class() */
@@ -2392,6 +2455,7 @@ static unsigned
test_fs_sect_extend(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -2415,13 +2479,19 @@ test_fs_sect_extend(hid_t fapl)
if(NULL == (f = (H5F_t *)H5I_object(file)))
FAIL_STACK_ERROR
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
/*
* TEST 1
*/
init_cparam(&cparam);
nclasses = NELMTS(test_classes);
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2436,7 +2506,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE5, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2456,7 +2526,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE40, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2468,7 +2538,7 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Extend a block by requested-size */
- if((status = H5FS_sect_try_extend(f, H5AC_ind_read_dxpl_id, frsp, (haddr_t)TEST_SECT_SIZE80, (hsize_t)TEST_SECT_SIZE20, (hsize_t)TEST_SECT_SIZE40)) < 0)
+ if((status = H5FS_sect_try_extend(f, dxpl_id, frsp, (haddr_t)TEST_SECT_SIZE80, (hsize_t)TEST_SECT_SIZE20, (hsize_t)TEST_SECT_SIZE40)) < 0)
FAIL_STACK_ERROR
if(FALSE == status)
TEST_ERROR
@@ -2481,12 +2551,12 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -2497,7 +2567,7 @@ test_fs_sect_extend(hid_t fapl)
*/
TESTING("a block's extension by requested-size which is > adjoining free section's size: Test 2");
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2512,7 +2582,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE5, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2532,7 +2602,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE40, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2544,7 +2614,7 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Extend the block by requested-size */
- if((status = H5FS_sect_try_extend(f, H5AC_ind_read_dxpl_id, frsp, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, (hsize_t)TEST_SECT_SIZE50)) < 0)
+ if((status = H5FS_sect_try_extend(f, dxpl_id, frsp, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, (hsize_t)TEST_SECT_SIZE50)) < 0)
FAIL_STACK_ERROR
if(TRUE == status)
TEST_ERROR
@@ -2554,12 +2624,12 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -2570,7 +2640,7 @@ test_fs_sect_extend(hid_t fapl)
*/
TESTING("a block's extension by requested-size which is < adjoining free section's size: Test 3");
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2585,7 +2655,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE5, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2605,7 +2675,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE40, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2617,7 +2687,7 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Extend the block by requested-size */
- if((status = H5FS_sect_try_extend(f, H5AC_ind_read_dxpl_id, frsp, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, (hsize_t)TEST_SECT_SIZE30)) < 0)
+ if((status = H5FS_sect_try_extend(f, dxpl_id, frsp, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE20, (hsize_t)TEST_SECT_SIZE30)) < 0)
TEST_ERROR
if(FALSE == status)
TEST_ERROR
@@ -2628,12 +2698,12 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
@@ -2644,7 +2714,7 @@ test_fs_sect_extend(hid_t fapl)
*/
TESTING("a block's extension by requested-size which does not adjoin any free section: Test 4");
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2659,7 +2729,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node1, (haddr_t)TEST_SECT_ADDR70, (hsize_t)TEST_SECT_SIZE5, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node1,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2679,7 +2749,7 @@ test_fs_sect_extend(hid_t fapl)
init_sect_node(sect_node2, (haddr_t)TEST_SECT_ADDR100, (hsize_t)TEST_SECT_SIZE40, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node2,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
@@ -2691,7 +2761,7 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Extend the block by requested-size */
- if((status = H5FS_sect_try_extend(f, H5AC_ind_read_dxpl_id, frsp, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE15, (hsize_t)TEST_SECT_SIZE40)) < 0)
+ if((status = H5FS_sect_try_extend(f, dxpl_id, frsp, (haddr_t)TEST_SECT_ADDR80, (hsize_t)TEST_SECT_SIZE15, (hsize_t)TEST_SECT_SIZE40)) < 0)
TEST_ERROR
if(TRUE == status)
TEST_ERROR
@@ -2701,30 +2771,33 @@ test_fs_sect_extend(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
PASSED()
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_sect_extend() */
@@ -2740,6 +2813,7 @@ static unsigned
test_fs_sect_iterate(hid_t fapl)
{
hid_t file = -1; /* File ID */
+ hid_t dxpl_id = -1; /* dxpl ID (for tag) */
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
H5FS_t *frsp = NULL; /* pointer to free space structure */
@@ -2771,8 +2845,14 @@ test_fs_sect_iterate(hid_t fapl)
udata.tot_size = 0;
udata.tot_sect_count = 0;
+ /* Create the dxpl and tag it with the global free space tag */
+ if((dxpl_id = H5Pcreate(H5P_DATASET_XFER)) < 0)
+ FAIL_STACK_ERROR
+ if(H5AC_tag(dxpl_id, H5AC__FREESPACE_TAG, NULL) < 0)
+ FAIL_STACK_ERROR
+
init_flags = H5FS_CLS_SEPAR_OBJ;
- if(NULL == (frsp = H5FS_create(f, H5AC_ind_read_dxpl_id, &fs_addr,
+ if(NULL == (frsp = H5FS_create(f, dxpl_id, &fs_addr,
&cparam, nclasses, test_classes, &init_flags, (hsize_t)FSPACE_THRHD_DEF, (hsize_t)FSPACE_ALIGN_DEF)))
FAIL_STACK_ERROR
@@ -2786,12 +2866,12 @@ test_fs_sect_iterate(hid_t fapl)
sect_size = (unsigned)((i-1) % 9) + 1;
init_sect_node(sect_node, (haddr_t)i*10, (hsize_t)sect_size, TEST_FSPACE_SECT_TYPE, H5FS_SECT_LIVE);
- if(H5FS_sect_add(f, H5AC_ind_read_dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
+ if(H5FS_sect_add(f, dxpl_id, frsp, (H5FS_section_info_t *)sect_node,
H5FS_ADD_RETURNED_SPACE, NULL) < 0)
FAIL_STACK_ERROR
}
- if(H5FS_sect_iterate(f, H5AC_ind_read_dxpl_id, frsp, TEST_sects_cb, &udata) < 0)
+ if(H5FS_sect_iterate(f, dxpl_id, frsp, TEST_sects_cb, &udata) < 0)
TEST_ERROR
H5FS_sect_stats(frsp, &tot_space, &nsects);
@@ -2802,30 +2882,33 @@ test_fs_sect_iterate(hid_t fapl)
TEST_ERROR
/* Close the free space manager */
- if(H5FS_close(f, H5AC_ind_read_dxpl_id, frsp) < 0)
+ if(H5FS_close(f, dxpl_id, frsp) < 0)
FAIL_STACK_ERROR
frsp = NULL;
/* Delete free space manager */
- if(H5FS_delete(f, H5AC_ind_read_dxpl_id, fs_addr) < 0)
+ if(H5FS_delete(f, dxpl_id, fs_addr) < 0)
FAIL_STACK_ERROR
fs_addr = HADDR_UNDEF;
- /* Close the file */
+ /* Close the file and dxpl */
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
+ if(H5Pclose(dxpl_id) < 0)
+ FAIL_STACK_ERROR
PASSED()
- return(0);
+ return 0;
error:
H5E_BEGIN_TRY {
if(frsp)
- H5FS_close(f, H5AC_ind_read_dxpl_id, frsp);
- H5Fclose(file);
+ H5FS_close(f, dxpl_id, frsp);
+ H5Fclose(file);
+ H5Pclose(dxpl_id);
} H5E_END_TRY;
- return(1);
+ return 1;
} /* test_fs_sect_iterate() */
@@ -2866,13 +2949,13 @@ main(void)
puts("All free-space tests passed.");
h5_cleanup(FILENAME, fapl);
- return (0);
+ return 0;
error:
puts("*** TESTS FAILED ***");
H5E_BEGIN_TRY {
H5Pclose(fapl);
} H5E_END_TRY;
- return (1);
+ return 1;
} /* main() */