summaryrefslogtreecommitdiffstats
path: root/src/H5S.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2003-10-27 21:38:27 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2003-10-27 21:38:27 (GMT)
commit8a43391a1157aa6bccb530cb1a39e6ad5e0e01e2 (patch)
tree6a803fcfb644aed148738c6d97b54cb287fce421 /src/H5S.c
parent8dc1c9870a39b5e8ecb5f313661e27af60511fe3 (diff)
downloadhdf5-8a43391a1157aa6bccb530cb1a39e6ad5e0e01e2.zip
hdf5-8a43391a1157aa6bccb530cb1a39e6ad5e0e01e2.tar.gz
hdf5-8a43391a1157aa6bccb530cb1a39e6ad5e0e01e2.tar.bz2
[svn-r7754] Purpose:
Code cleanup Description: Straighten out more goofiness in the MPI code dealing with collective I/O transfers - mostly make certain that a view is set if-and-only-if collective I/O is occurring on raw data (and vice versa for views and independent I/O) Platforms tested: FreeBSD 4.9 (sleipnir) w/parallel & FPHDF5 too minor to repquire h5committest
Diffstat (limited to 'src/H5S.c')
-rw-r--r--src/H5S.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/H5S.c b/src/H5S.c
index f69f8f5..e1d0327 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -1478,7 +1478,11 @@ H5S_find (const H5S_t *mem_space, const H5S_t *file_space, unsigned
#ifndef H5_HAVE_PARALLEL
UNUSED
#endif /* H5_HAVE_PARALLEL */
-flags)
+flags, hbool_t
+#ifndef H5_HAVE_PARALLEL
+UNUSED
+#endif /* H5_HAVE_PARALLEL */
+*use_par_opt_io)
{
H5S_conv_t *path=NULL; /* Space conversion path */
#ifdef H5_HAVE_PARALLEL
@@ -1521,10 +1525,17 @@ flags)
/* Check if we can use the optimized parallel I/O routines */
if(opt==TRUE) {
+ /* Set the pointers to the MPI-specific routines */
H5S_conv_g[i]->read = H5S_mpio_spaces_read;
H5S_conv_g[i]->write = H5S_mpio_spaces_write;
+
+ /* Indicate that the I/O will be parallel */
+ *use_par_opt_io=TRUE;
} /* end if */
else {
+ /* Indicate that the I/O will _NOT_ be parallel */
+ *use_par_opt_io=FALSE;
+
#endif /* H5_HAVE_PARALLEL */
H5S_conv_g[i]->read = H5S_select_read;
H5S_conv_g[i]->write = H5S_select_write;
@@ -1556,10 +1567,17 @@ flags)
/* Check if we can use the optimized parallel I/O routines */
if(opt==TRUE) {
+ /* Set the pointers to the MPI-specific routines */
path->read = H5S_mpio_spaces_read;
path->write = H5S_mpio_spaces_write;
+
+ /* Indicate that the I/O will be parallel */
+ *use_par_opt_io=TRUE;
} /* end if */
else {
+ /* Indicate that the I/O will _NOT_ be parallel */
+ *use_par_opt_io=FALSE;
+
#endif /* H5_HAVE_PARALLEL */
path->read = H5S_select_read;
path->write = H5S_select_write;