summaryrefslogtreecommitdiffstats
path: root/src/H5Fistore.c
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2003-02-21 14:04:35 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2003-02-21 14:04:35 (GMT)
commitd84e6e525e28ace2f9163253212436fc09d30b8c (patch)
treee8f9882f63f59d71a5db87566558636aabf2925b /src/H5Fistore.c
parent9c7b019bc56277e08a504a992e287522f42abd0b (diff)
downloadhdf5-d84e6e525e28ace2f9163253212436fc09d30b8c.zip
hdf5-d84e6e525e28ace2f9163253212436fc09d30b8c.tar.gz
hdf5-d84e6e525e28ace2f9163253212436fc09d30b8c.tar.bz2
[svn-r6426] Purpose:
Update Description: Final support addition for FPHDF5. Wherever there was an equivalent MPIO or MPIO/POSIX call/check, I placed an FPHDF5 call/check there as well, with the appropriate #ifdefs in place. The hdf5.h is updated with the H5FDfphdf5.h driver #include. Platforms tested: Linux & Modi4
Diffstat (limited to 'src/H5Fistore.c')
-rw-r--r--src/H5Fistore.c50
1 files changed, 33 insertions, 17 deletions
diff --git a/src/H5Fistore.c b/src/H5Fistore.c
index f2e7eb8..3afc866 100644
--- a/src/H5Fistore.c
+++ b/src/H5Fistore.c
@@ -56,7 +56,8 @@
#include "H5Sprivate.h" /* Dataspaces */
#include "H5Vprivate.h"
-/* MPIO & MPIPOSIX drivers needed for special checks */
+/* MPIO, MPIPOSIX, & FPHDF5 drivers needed for special checks */
+#include "H5FDfphdf5.h"
#include "H5FDmpio.h"
#include "H5FDmpiposix.h"
@@ -2429,23 +2430,38 @@ H5F_istore_allocate(H5F_t *f, hid_t dxpl_id, const H5O_layout_t *layout,
/* Set the MPI-capable file driver flag */
using_mpi=1;
} /* end if */
- else {
- if(IS_H5FD_MPIPOSIX(f)) {
- /* Get the MPI communicator */
- if (MPI_COMM_NULL == (mpi_comm=H5FD_mpiposix_communicator(f->shared->lf)))
- HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI communicator");
-
- /* Get the MPI rank & size */
- if ((mpi_rank=H5FD_mpiposix_mpi_rank(f->shared->lf))<0)
- HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI rank");
- if ((mpi_size=H5FD_mpiposix_mpi_size(f->shared->lf))<0)
- HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI size");
-
- /* Set the MPI-capable file driver flag */
- using_mpi=1;
- } /* end if */
+ else if(IS_H5FD_MPIPOSIX(f)) {
+ /* Get the MPI communicator */
+ if (MPI_COMM_NULL == (mpi_comm=H5FD_mpiposix_communicator(f->shared->lf)))
+ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI communicator");
+
+ /* Get the MPI rank & size */
+ if ((mpi_rank=H5FD_mpiposix_mpi_rank(f->shared->lf))<0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI rank");
+ if ((mpi_size=H5FD_mpiposix_mpi_size(f->shared->lf))<0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI size");
+
+ /* Set the MPI-capable file driver flag */
+ using_mpi=1;
} /* end else */
-#endif /* H5_HAVE_PARALLEL */
+#ifdef H5_HAVE_FPHDF5
+ else if (IS_H5FD_FPHDF5(f)) {
+ /* Get the FPHDF5 barrier communicator */
+ if (MPI_COMM_NULL == (mpi_comm = H5FD_fphdf5_barrier_communicator(f->shared->lf)))
+ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI communicator");
+
+ /* Get the MPI rank & size */
+ if ((mpi_rank = H5FD_fphdf5_mpi_rank(f->shared->lf)) < 0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI rank");
+
+ if ((mpi_size = H5FD_fphdf5_mpi_size(f->shared->lf)) < 0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_MPI, FAIL, "Can't retrieve MPI size");
+
+ /* Set the MPI-capable file driver flag */
+ using_mpi = 1;
+ } /* end if */
+#endif /* H5_HAVE_FPHDF5 */
+#endif /* H5_HAVE_PARALLEL */
/*
* Setup indice to go through all chunks. (Future improvement