mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-18 15:15:56 +08:00
[svn-r1627] Cleanup some minor bugs in the MPIO file-driver ported by Robb.
It is working now. Still need to tie up some loose ends.
This commit is contained in:
parent
d0c5506d95
commit
cb0a0eb41e
20
src/H5D.c
20
src/H5D.c
@ -1509,14 +1509,14 @@ H5D_read(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
{
|
||||
/* Collective access is not permissible with the MPIO driver */
|
||||
/* Collective access is not permissible without the MPIO driver */
|
||||
H5FD_mpio_dxpl_t *dx;
|
||||
if (H5FD_MPIO==dataset->ent.file->shared->lf->driver_id &&
|
||||
H5FD_MPIO==xfer_parms->driver_id &&
|
||||
if (H5FD_MPIO==xfer_parms->driver_id &&
|
||||
(dx=xfer_parms->driver_info) &&
|
||||
H5FD_MPIO_COLLECTIVE==dx->xfer_mode) {
|
||||
HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL,
|
||||
"collective access not permissible");
|
||||
if (H5FD_MPIO!=dataset->ent.file->shared->lf->driver_id)
|
||||
HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL,
|
||||
"collective access for MPIO driver only");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1916,14 +1916,14 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space,
|
||||
|
||||
#ifdef HAVE_PARALLEL
|
||||
{
|
||||
/* Collective access is not permissible with the MPIO driver */
|
||||
/* Collective access is not permissible without the MPIO driver */
|
||||
H5FD_mpio_dxpl_t *dx;
|
||||
if (H5FD_MPIO==dataset->ent.file->shared->lf->driver_id &&
|
||||
H5FD_MPIO==xfer_parms->driver_id &&
|
||||
if (H5FD_MPIO==xfer_parms->driver_id &&
|
||||
(dx=xfer_parms->driver_info) &&
|
||||
H5FD_MPIO_COLLECTIVE==dx->xfer_mode) {
|
||||
HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL,
|
||||
"collective access not permissible");
|
||||
if (H5FD_MPIO!=dataset->ent.file->shared->lf->driver_id)
|
||||
HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL,
|
||||
"collective access for MPIO driver only");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -729,7 +729,7 @@ H5F_new(H5F_file_t *shared, hid_t fcpl_id, hid_t fapl_id)
|
||||
* does not permit caching. (maybe able to relax it for
|
||||
* read only open.)
|
||||
*/
|
||||
if (H5FD_MPIO==f->shared->lf->driver_id){
|
||||
if (H5FD_MPIO==fapl->driver_id){
|
||||
f->shared->rdcc_nbytes = 0;
|
||||
f->shared->mdc_nelmts = 0;
|
||||
}
|
||||
|
@ -166,18 +166,6 @@ H5FD_mpio_init(void)
|
||||
{
|
||||
if (H5I_VFL!=H5Iget_type(H5FD_MPIO_g)) {
|
||||
H5FD_MPIO_g = H5FDregister(&H5FD_mpio_g);
|
||||
|
||||
#if 1
|
||||
/*
|
||||
* To be removed after Albert proof reads this driver.
|
||||
* --rpm 1999-08-06
|
||||
*/
|
||||
fprintf(stderr, "\
|
||||
H5FD_MPIO: this driver is currently under construction and may\n\
|
||||
not work as advertised. Please use hdf5-1.3.? if you need a\n\
|
||||
more stable development version (or use the hdf5-1.2.x release\n\
|
||||
version).\n");
|
||||
#endif
|
||||
}
|
||||
return H5FD_MPIO_g;
|
||||
}
|
||||
@ -1060,8 +1048,10 @@ H5FD_mpio_read(H5FD_t *_file, hid_t dxpl_id, haddr_t addr, hsize_t size,
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NO
|
||||
/* Forget the EOF value (see H5FD_mpio_get_eof()) --rpm 1999-08-06 */
|
||||
file->eof = HADDR_UNDEF;
|
||||
#endif
|
||||
|
||||
#ifdef H5FDmpio_DEBUG
|
||||
if (H5FD_mpio_Debug[(int)'t'])
|
||||
|
@ -38,16 +38,16 @@ typedef struct H5FD_mpio_dxpl_t {
|
||||
#ifdef HAVE_PARALLEL
|
||||
__DLL__ hid_t H5FD_mpio_init(void);
|
||||
__DLL__ herr_t H5Pset_fapl_mpio(hid_t fapl_id, MPI_Comm comm, MPI_Info info);
|
||||
__DLL__herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm/*out*/,
|
||||
__DLL__ herr_t H5Pget_fapl_mpio(hid_t fapl_id, MPI_Comm *comm/*out*/,
|
||||
MPI_Info *info/*out*/);
|
||||
__DLL__herr_t H5Pset_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode);
|
||||
__DLL__herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode/*out*/);
|
||||
__DLL__htri_t H5FD_mpio_tas_allsame(H5FD_t *_file, hbool_t newval);
|
||||
__DLL__MPI_Comm H5FD_mpio_communicator(H5FD_t *_file);
|
||||
__DLL__herr_t H5FD_mpio_setup(H5FD_t *_file, MPI_Datatype btype, MPI_Datatype ftype,
|
||||
__DLL__ herr_t H5Pset_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t xfer_mode);
|
||||
__DLL__ herr_t H5Pget_dxpl_mpio(hid_t dxpl_id, H5FD_mpio_xfer_t *xfer_mode/*out*/);
|
||||
__DLL__ htri_t H5FD_mpio_tas_allsame(H5FD_t *_file, hbool_t newval);
|
||||
__DLL__ MPI_Comm H5FD_mpio_communicator(H5FD_t *_file);
|
||||
__DLL__ herr_t H5FD_mpio_setup(H5FD_t *_file, MPI_Datatype btype, MPI_Datatype ftype,
|
||||
haddr_t disp, hbool_t use_types);
|
||||
__DLL__herr_t H5FD_mpio_wait_for_left_neighbor(H5FD_t *file);
|
||||
__DLL__herr_t H5FD_mpio_signal_right_neighbor(H5FD_t *file);
|
||||
__DLL__ herr_t H5FD_mpio_wait_for_left_neighbor(H5FD_t *file);
|
||||
__DLL__ herr_t H5FD_mpio_signal_right_neighbor(H5FD_t *file);
|
||||
|
||||
#endif /*HAVE_PARALLEL*/
|
||||
|
||||
|
@ -1339,8 +1339,8 @@ H5Pset_driver(hid_t plist_id, hid_t driver_id, const void *driver_info)
|
||||
}
|
||||
|
||||
/* Remove old driver */
|
||||
assert(dxpl->driver_id>=0);
|
||||
H5FD_dxpl_free(dxpl->driver_id, dxpl->driver_info);
|
||||
if (dxpl->driver_id>=0)
|
||||
H5FD_dxpl_free(dxpl->driver_id, dxpl->driver_info);
|
||||
|
||||
/* Add new driver */
|
||||
H5I_inc_ref(driver_id);
|
||||
|
Loading…
Reference in New Issue
Block a user