diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2013-04-03 18:11:58 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2013-04-03 18:11:58 (GMT) |
commit | 00a5fe5cf40dbd9493c6783bc402fd90af96beff (patch) | |
tree | 0abbaa53a5fd2d426bf25c1f6021e03471fb3a28 /src/H5C.c | |
parent | 91bcf7432e992d58741fe1925bb93bf32feb3358 (diff) | |
download | hdf5-00a5fe5cf40dbd9493c6783bc402fd90af96beff.zip hdf5-00a5fe5cf40dbd9493c6783bc402fd90af96beff.tar.gz hdf5-00a5fe5cf40dbd9493c6783bc402fd90af96beff.tar.bz2 |
[svn-r23535] Description:
Bring r23529 from trunk to 1.8 branch:
Stop aliasing property to indicate internal collective metadata operations
with property to perform collective raw data operations from the application.
Tested on:
Mac OSX/64 10.8.3 (amazon) w/parallel
(daily tests on trunk)
Diffstat (limited to 'src/H5C.c')
-rw-r--r-- | src/H5C.c | 37 |
1 files changed, 15 insertions, 22 deletions
@@ -75,6 +75,9 @@ #include "H5private.h" /* Generic Functions */ +#ifdef H5_HAVE_PARALLEL +#include "H5ACprivate.h" /* Metadata cache */ +#endif /* H5_HAVE_PARALLEL */ #include "H5Cpkg.h" /* Cache */ #include "H5Dprivate.h" /* Dataset functions */ #include "H5Eprivate.h" /* Error handling */ @@ -7599,37 +7602,27 @@ H5C_flush_single_entry(H5F_t * f, #ifdef H5_HAVE_PARALLEL #ifndef NDEBUG - /* If MPI based VFD is used, do special parallel I/O sanity checks. * Note that we only do these sanity checks when the clear_only flag * is not set, and the entry to be flushed is dirty. Don't bother * otherwise as no file I/O can result. */ - if ( ( ! clear_only ) && - ( entry_ptr->is_dirty ) && - ( IS_H5FD_MPI(f) ) ) { - - H5P_genplist_t *dxpl; /* Dataset transfer property list */ - H5FD_mpio_xfer_t xfer_mode; /* I/O xfer mode property value */ + if(!clear_only && entry_ptr->is_dirty && + IS_H5FD_MPI(f)) { + H5P_genplist_t *dxpl; /* Dataset transfer property list */ + unsigned coll_meta; /* Collective metadata write flag */ /* Get the dataset transfer property list */ - if ( NULL == (dxpl = H5I_object(primary_dxpl_id)) ) { - - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, \ - "not a dataset transfer property list") - } + if(NULL == (dxpl = H5I_object(primary_dxpl_id))) + HGOTO_ERROR(H5E_CACHE, H5E_BADTYPE, FAIL, "not a dataset transfer property list") - /* Get the transfer mode property */ - if( H5P_get(dxpl, H5D_XFER_IO_XFER_MODE_NAME, &xfer_mode) < 0 ) { - - HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, \ - "can't retrieve xfer mode") - } - - /* Sanity check transfer mode */ - HDassert( xfer_mode == H5FD_MPIO_COLLECTIVE ); - } + /* Get the collective metadata write property */ + if(H5P_get(dxpl, H5AC_COLLECTIVE_META_WRITE_NAME, &coll_meta) < 0) + HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, FAIL, "can't retrieve xfer mode") + /* Sanity check collective metadata write flag */ + HDassert(coll_meta); + } /* end if */ #endif /* NDEBUG */ #endif /* H5_HAVE_PARALLEL */ |