summaryrefslogtreecommitdiffstats
path: root/src/H5Ctag.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-12-08 02:16:12 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-12-08 02:16:12 (GMT)
commit02879bc4b2ba161dc259bf28a71e7a99b44be0e3 (patch)
tree29ce694d2454a2df72aebd221acb7ea656ab172a /src/H5Ctag.c
parent16a5c7c8f309042c7bb3a40cdb4c60f5b2c587c2 (diff)
downloadhdf5-02879bc4b2ba161dc259bf28a71e7a99b44be0e3.zip
hdf5-02879bc4b2ba161dc259bf28a71e7a99b44be0e3.tar.gz
hdf5-02879bc4b2ba161dc259bf28a71e7a99b44be0e3.tar.bz2
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.
Diffstat (limited to 'src/H5Ctag.c')
-rw-r--r--src/H5Ctag.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/H5Ctag.c b/src/H5Ctag.c
index 3920475..157a838 100644
--- a/src/H5Ctag.c
+++ b/src/H5Ctag.c
@@ -839,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() */
+