summaryrefslogtreecommitdiffstats
path: root/src/H5Fmpi.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2016-02-10 20:48:34 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2016-02-10 20:48:34 (GMT)
commit63c90e5c67445de5deaaf45b70273fef1286ae60 (patch)
tree97f30fd46663aa809ac03bb4feac32bed9b12ee5 /src/H5Fmpi.c
parent4da0790886dd7f52d9bd01ef5d9191f7ff729b3e (diff)
parent557a3972ac65f4d0d40f73b5add3195b739ea5cc (diff)
downloadhdf5-63c90e5c67445de5deaaf45b70273fef1286ae60.zip
hdf5-63c90e5c67445de5deaaf45b70273fef1286ae60.tar.gz
hdf5-63c90e5c67445de5deaaf45b70273fef1286ae60.tar.bz2
[svn-r29081] - merge in the phdf5_metadata_opt/ branch with the collective metadata optimizations.
- rename H5AC_dxpl_id to H5AC_ind_read_dxpl_id and update all usage in the library tested on bb-8 with parallel and serial.
Diffstat (limited to 'src/H5Fmpi.c')
-rw-r--r--src/H5Fmpi.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/H5Fmpi.c b/src/H5Fmpi.c
index 9783947..5434aa5 100644
--- a/src/H5Fmpi.c
+++ b/src/H5Fmpi.c
@@ -77,6 +77,35 @@
#ifdef H5_HAVE_PARALLEL
+
+/*-------------------------------------------------------------------------
+ * Function: H5F_get_mpi_handle
+ *
+ * Purpose: Retrieves MPI File handle.
+ *
+ * Return: Success: The size (positive)
+ * Failure: Negative
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5F_get_mpi_handle(const H5F_t *f, MPI_File **f_handle)
+{
+ herr_t ret_value = SUCCEED;
+ hid_t fapl = -1;
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ assert(f && f->shared);
+
+ /* Dispatch to driver */
+ if ((ret_value = H5FD_get_vfd_handle(f->shared->lf, fapl, (void **)f_handle)) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get mpi file handle")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5F_get_mpi_handle() */
+
/*-------------------------------------------------------------------------
* Function: H5F_mpi_get_rank