summaryrefslogtreecommitdiffstats
path: root/src/H5Fint.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@lbl.gov>2018-12-18 00:03:59 (GMT)
committerQuincey Koziol <koziol@lbl.gov>2018-12-18 00:03:59 (GMT)
commitaadebc1b7eefa1ef0954b30f109f288f79452998 (patch)
treec3affc56242acf160819bc448b6672b19f006d5d /src/H5Fint.c
parentbacabb3534e146d8969a34f6434e3463969688ff (diff)
parent3597bd469ff0073134b31765d9b87660cd3e0039 (diff)
downloadhdf5-aadebc1b7eefa1ef0954b30f109f288f79452998.zip
hdf5-aadebc1b7eefa1ef0954b30f109f288f79452998.tar.gz
hdf5-aadebc1b7eefa1ef0954b30f109f288f79452998.tar.bz2
Merge pull request #1390 in HDFFV/hdf5 from stackable_vol_fix_06 to develop
* commit '3597bd469ff0073134b31765d9b87660cd3e0039': Revert change to MSC_VER, in favor of Dana's Remove H5VL_FILE_CACHE_VOL_CONN from file specific callbacks, as it turns out not to be necessary.
Diffstat (limited to 'src/H5Fint.c')
-rw-r--r--src/H5Fint.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/H5Fint.c b/src/H5Fint.c
index 993db06..bc3b8bf 100644
--- a/src/H5Fint.c
+++ b/src/H5Fint.c
@@ -74,6 +74,7 @@ typedef struct H5F_olist_t {
/* Local Prototypes */
/********************/
+static herr_t H5F__set_vol_conn(H5F_t *file, hid_t vol_id, const void *vol_info);
static herr_t H5F__get_objects(const H5F_t *f, unsigned types, size_t max_index, hid_t *obj_id_list, hbool_t app_ref, size_t *obj_id_count_ptr);
static int H5F__get_objects_cb(void *obj_ptr, hid_t obj_id, void *key);
static herr_t H5F__build_name(const char *prefix, const char *file_name, char **full_name/*out*/);
@@ -115,13 +116,13 @@ H5FL_DEFINE(H5F_file_t);
*
*-------------------------------------------------------------------------
*/
-herr_t
+static herr_t
H5F__set_vol_conn(H5F_t *file, hid_t vol_id, const void *vol_info)
{
void *new_connector_info = NULL; /* Copy of connector info */
herr_t ret_value = SUCCEED; /* Return value */
- FUNC_ENTER_PACKAGE
+ FUNC_ENTER_STATIC
/* Sanity check */
HDassert(file);
@@ -1089,6 +1090,16 @@ H5F__new(H5F_file_t *shared, unsigned flags, hid_t fcpl_id, hid_t fapl_id, H5FD_
if(H5P_get(plist, H5F_ACS_OBJECT_FLUSH_CB_NAME, &(f->shared->object_flush)) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get object flush cb info")
+ /* Get the VOL connector info */
+ {
+ H5VL_connector_prop_t connector_prop; /* Property for VOL connector ID & info */
+
+ if(H5P_peek(plist, H5F_ACS_VOL_CONN_NAME, &connector_prop) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get VOL connector info")
+ if(H5F__set_vol_conn(f, connector_prop.connector_id, connector_prop.connector_info) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "can't cache VOL connector info")
+ } /* end block */
+
/* Create a metadata cache with the specified number of elements.
* The cache might be created with a different number of elements and
* the access property list should be updated to reflect that.