diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5A.c | 6 | ||||
-rw-r--r-- | src/H5Adeprec.c | 2 | ||||
-rw-r--r-- | src/H5CX.c | 48 | ||||
-rw-r--r-- | src/H5CXprivate.h | 2 | ||||
-rw-r--r-- | src/H5D.c | 8 | ||||
-rw-r--r-- | src/H5Ddeprec.c | 2 | ||||
-rw-r--r-- | src/H5F.c | 6 | ||||
-rw-r--r-- | src/H5Fmount.c | 4 | ||||
-rw-r--r-- | src/H5G.c | 4 | ||||
-rw-r--r-- | src/H5Gdeprec.c | 18 | ||||
-rw-r--r-- | src/H5O.c | 6 | ||||
-rw-r--r-- | src/H5Ocopy.c | 2 | ||||
-rw-r--r-- | src/H5Oflush.c | 4 | ||||
-rw-r--r-- | src/H5R.c | 2 | ||||
-rw-r--r-- | src/H5Tcommit.c | 4 | ||||
-rw-r--r-- | src/H5Tdeprec.c | 2 |
16 files changed, 58 insertions, 62 deletions
@@ -619,7 +619,7 @@ H5Awrite(hid_t attr_id, hid_t dtype_id, const void *buf) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "null attribute buffer") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(attr_id, TRUE) < 0) + if(H5CX_set_loc(attr_id) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, FAIL, "can't set collective metadata read") /* Go write the actual data to the attribute */ @@ -1129,7 +1129,7 @@ H5Arename(hid_t loc_id, const char *old_name, const char *new_name) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, FAIL, "can't set collective metadata read") /* Call private attribute rename routine */ @@ -1375,7 +1375,7 @@ H5Adelete(hid_t loc_id, const char *name) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, FAIL, "can't set collective metadata read") /* Delete the attribute from the location */ diff --git a/src/H5Adeprec.c b/src/H5Adeprec.c index 84ab491..9903da1 100644 --- a/src/H5Adeprec.c +++ b/src/H5Adeprec.c @@ -137,7 +137,7 @@ H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id, HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data space") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, H5I_INVALID_HID, "can't set collective metadata read") /* Go do the real work for attaching the attribute to the dataset */ @@ -852,7 +852,10 @@ done: /*------------------------------------------------------------------------- * Function: H5CX_set_loc * - * Purpose: Sanity checks and sets up collective operations. + * Purpose: Sanity checks and sets up collective operations. + * + * Note: Should be called for all API routines that modify file + * file metadata but don't pass in an access property list. * * Return: Non-negative on success / Negative on failure * @@ -866,11 +869,7 @@ H5CX_set_loc(hid_t #ifndef H5_HAVE_PARALLEL H5_ATTR_UNUSED #endif /* H5_HAVE_PARALLEL */ - loc_id, hbool_t -#ifndef H5_HAVE_PARALLEL - H5_ATTR_UNUSED -#endif /* H5_HAVE_PARALLEL */ - is_collective) + loc_id) { H5CX_node_t **head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */ herr_t ret_value = SUCCEED; /* Return value */ @@ -881,28 +880,25 @@ H5CX_set_loc(hid_t HDassert(head && *head); #ifdef H5_HAVE_PARALLEL - /* Check for collective operation */ - if(is_collective) { - /* Set collective metadata read flag */ - (*head)->ctx.coll_metadata_read = TRUE; - - /* If parallel is enabled and the file driver used is the MPI-IO - * VFD, issue an MPI barrier for easier debugging if the API function - * calling this is supposed to be called collectively. Note that this - * happens only when the environment variable H5_COLL_BARRIER is set - * to non 0. - */ - if(H5_coll_api_sanity_check_g) { - MPI_Comm mpi_comm; /* File communicator */ + /* Set collective metadata read flag */ + (*head)->ctx.coll_metadata_read = TRUE; + + /* If parallel is enabled and the file driver used is the MPI-IO + * VFD, issue an MPI barrier for easier debugging if the API function + * calling this is supposed to be called collectively. Note that this + * happens only when the environment variable H5_COLL_BARRIER is set + * to non 0. + */ + if(H5_coll_api_sanity_check_g) { + MPI_Comm mpi_comm; /* File communicator */ - /* Retrieve the MPI communicator from the loc_id or the fapl_id */ - if(H5F_mpi_retrieve_comm(loc_id, H5P_DEFAULT, &mpi_comm) < 0) - HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get MPI communicator") + /* Retrieve the MPI communicator from the loc_id or the fapl_id */ + if(H5F_mpi_retrieve_comm(loc_id, H5P_DEFAULT, &mpi_comm) < 0) + HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get MPI communicator") - /* issue the barrier */ - if(mpi_comm != MPI_COMM_NULL) - MPI_Barrier(mpi_comm); - } /* end if */ + /* issue the barrier */ + if(mpi_comm != MPI_COMM_NULL) + MPI_Barrier(mpi_comm); } /* end if */ #endif /* H5_HAVE_PARALLEL */ diff --git a/src/H5CXprivate.h b/src/H5CXprivate.h index 405dc7a..151f555 100644 --- a/src/H5CXprivate.h +++ b/src/H5CXprivate.h @@ -63,7 +63,7 @@ H5_DLL void H5CX_set_dxpl(hid_t dxpl_id); H5_DLL void H5CX_set_lapl(hid_t lapl_id); H5_DLL herr_t H5CX_set_apl(hid_t *acspl_id, const H5P_libclass_t *libclass, hid_t loc_id, hbool_t is_collective); -H5_DLL herr_t H5CX_set_loc(hid_t loc_id, hbool_t is_collective); +H5_DLL herr_t H5CX_set_loc(hid_t loc_id); /* "Getter" routines for API context info */ H5_DLL hid_t H5CX_get_dxpl(void); @@ -898,7 +898,7 @@ H5Dset_extent(hid_t dset_id, const hsize_t size[]) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(dset_id, TRUE) < 0) + if(H5CX_set_loc(dset_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Private function */ @@ -936,7 +936,7 @@ H5Dflush(hid_t dset_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(dset_id, TRUE) < 0) + if(H5CX_set_loc(dset_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Flush dataset information cached in memory */ @@ -974,7 +974,7 @@ H5Drefresh(hid_t dset_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(dset_id, TRUE) < 0) + if(H5CX_set_loc(dset_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call private function to refresh the dataset object */ @@ -1016,7 +1016,7 @@ H5Dformat_convert(hid_t dset_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(dset_id, TRUE) < 0) + if(H5CX_set_loc(dset_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set collective metadata read info") switch(dset->shared->layout.type) { diff --git a/src/H5Ddeprec.c b/src/H5Ddeprec.c index 318680c..6dd3754 100644 --- a/src/H5Ddeprec.c +++ b/src/H5Ddeprec.c @@ -249,7 +249,7 @@ H5Dextend(hid_t dset_id, const hsize_t size[]) dset_dims[u] = size[u]; /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(dset_id, TRUE) < 0) + if(H5CX_set_loc(dset_id) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Increase size */ @@ -1442,7 +1442,7 @@ H5Fstart_swmr_write(hid_t file_id) HGOTO_ERROR(H5E_FILE, H5E_UNSUPPORTED, FAIL, "can't have both SWMR and MDC cache image") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(file_id, TRUE) < 0) + if(H5CX_set_loc(file_id) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call the internal routine */ @@ -1575,7 +1575,7 @@ H5Fset_libver_bounds(hid_t file_id, H5F_libver_t low, H5F_libver_t high) HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "not a file ID") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(file_id, TRUE) < 0) + if(H5CX_set_loc(file_id) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal set_libver_bounds function */ @@ -1614,7 +1614,7 @@ H5Fformat_convert(hid_t fid) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(fid, TRUE) < 0) + if(H5CX_set_loc(fid) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call the internal routine */ diff --git a/src/H5Fmount.c b/src/H5Fmount.c index eede84c..e3a92fd 100644 --- a/src/H5Fmount.c +++ b/src/H5Fmount.c @@ -462,7 +462,7 @@ H5Fmount(hid_t loc_id, const char *name, hid_t child_id, hid_t plist_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not property list") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Do the mount */ @@ -509,7 +509,7 @@ H5Funmount(hid_t loc_id, const char *name) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Unmount */ @@ -719,7 +719,7 @@ H5Gflush(hid_t group_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(group_id, TRUE) < 0) + if(H5CX_set_loc(group_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Flush group's metadata to file */ @@ -757,7 +757,7 @@ H5Grefresh(hid_t group_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(group_id, TRUE) < 0) + if(H5CX_set_loc(group_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call private function to refresh group object */ diff --git a/src/H5Gdeprec.c b/src/H5Gdeprec.c index 8d1441f..fc346f8 100644 --- a/src/H5Gdeprec.c +++ b/src/H5Gdeprec.c @@ -231,7 +231,7 @@ H5Gcreate1(hid_t loc_id, const char *name, size_t size_hint) tmp_gcpl = H5P_GROUP_CREATE_DEFAULT; /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Create the new group & get its ID */ @@ -326,7 +326,7 @@ H5Glink(hid_t cur_loc_id, H5G_link_t type, const char *cur_name, const char *new HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(cur_loc_id, TRUE) < 0) + if(H5CX_set_loc(cur_loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine to create link */ @@ -362,7 +362,7 @@ H5Glink2(hid_t cur_loc_id, const char *cur_name, H5G_link_t type, HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no new name specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(cur_loc_id, TRUE) < 0) + if(H5CX_set_loc(cur_loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine to create link */ @@ -461,7 +461,7 @@ H5Gmove(hid_t src_loc_id, const char *src_name, const char *dst_name) H5TRACE3("e", "i*s*s", src_loc_id, src_name, dst_name); /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(src_loc_id, TRUE) < 0) + if(H5CX_set_loc(src_loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call common routine to move the link */ @@ -494,7 +494,7 @@ H5Gmove2(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "source and destination should not both be H5L_SAME_LOC") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(dst_loc_id, TRUE) < 0) + if(H5CX_set_loc(dst_loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call common routine to move the link */ @@ -583,7 +583,7 @@ H5Gunlink(hid_t loc_id, const char *name) HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "no name") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine */ @@ -650,7 +650,7 @@ H5Gget_linkval(hid_t loc_id, const char *name, size_t size, char *buf/*out*/) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine */ @@ -726,7 +726,7 @@ H5Gset_comment(hid_t loc_id, const char *name, const char *comment) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine */ @@ -809,7 +809,7 @@ H5Gget_comment(hid_t loc_id, const char *name, size_t bufsize, char *buf) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no buffer specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine */ @@ -335,7 +335,7 @@ H5Oincr_refcount(hid_t object_id) HGOTO_ERROR(H5E_ATOM, H5E_BADVALUE, FAIL, "unable to get object location from ID") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(object_id, TRUE) < 0) + if(H5CX_set_loc(object_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set access property list info") /* Change the object's refcount */ @@ -381,7 +381,7 @@ H5Odecr_refcount(hid_t object_id) HGOTO_ERROR(H5E_ATOM, H5E_BADVALUE, FAIL, "unable to get object location from ID") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(object_id, TRUE) < 0) + if(H5CX_set_loc(object_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set access property list info") /* Change the object's refcount */ @@ -595,7 +595,7 @@ H5Oset_comment(hid_t obj_id, const char *comment) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(obj_id, TRUE) < 0) + if(H5CX_set_loc(obj_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* (Re)set the object's comment */ diff --git a/src/H5Ocopy.c b/src/H5Ocopy.c index b5a3bdf..e6865f1 100644 --- a/src/H5Ocopy.c +++ b/src/H5Ocopy.c @@ -225,7 +225,7 @@ H5Ocopy(hid_t src_loc_id, const char *src_name, hid_t dst_loc_id, HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no destination name specified") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(src_loc_id, TRUE) < 0) + if(H5CX_set_loc(src_loc_id) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set collective metadata read info") /* Call internal routine to copy object */ diff --git a/src/H5Oflush.c b/src/H5Oflush.c index 65cb2ae..e8e077e 100644 --- a/src/H5Oflush.c +++ b/src/H5Oflush.c @@ -79,7 +79,7 @@ H5Oflush(hid_t obj_id) H5TRACE1("e", "i", obj_id); /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(obj_id, TRUE) < 0) + if(H5CX_set_loc(obj_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set access property list info") /* Call internal routine */ @@ -241,7 +241,7 @@ H5Orefresh(hid_t oid) H5TRACE1("e", "i", oid); /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(oid, TRUE) < 0) + if(H5CX_set_loc(oid) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set access property list info") /* Call internal routine */ @@ -115,7 +115,7 @@ H5Rcreate(void *ref, hid_t loc_id, const char *name, H5R_type_t ref_type, hid_t HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataspace") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_REFERENCE, H5E_CANTSET, FAIL, "can't set access property list info") /* Create reference */ diff --git a/src/H5Tcommit.c b/src/H5Tcommit.c index 12492fd..4e4a551 100644 --- a/src/H5Tcommit.c +++ b/src/H5Tcommit.c @@ -663,7 +663,7 @@ H5Tflush(hid_t type_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a committed datatype") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(type_id, TRUE) < 0) + if(H5CX_set_loc(type_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set access property list info") /* Flush metadata for named datatype */ @@ -703,7 +703,7 @@ H5Trefresh(hid_t type_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a committed datatype") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(type_id, TRUE) < 0) + if(H5CX_set_loc(type_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set access property list info") /* Call private function to refresh datatype object */ diff --git a/src/H5Tdeprec.c b/src/H5Tdeprec.c index e4224f5..13d2f5f 100644 --- a/src/H5Tdeprec.c +++ b/src/H5Tdeprec.c @@ -116,7 +116,7 @@ H5Tcommit1(hid_t loc_id, const char *name, hid_t type_id) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype") /* Set up collective metadata if appropriate */ - if(H5CX_set_loc(loc_id, TRUE) < 0) + if(H5CX_set_loc(loc_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set access property list info") /* Commit the datatype to the file, using default property list values */ |