summaryrefslogtreecommitdiffstats
path: root/src/H5Fmpio.c
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1999-04-26 13:33:38 (GMT)
committerRobb Matzke <matzke@llnl.gov>1999-04-26 13:33:38 (GMT)
commite987b73f58ecea72d034ae39a70ad5d5c3bec9ab (patch)
tree49d8cd6b0bb10d435d1836bc974fe28f34929e34 /src/H5Fmpio.c
parent53da2a393f542b046faccba5171689f6f34d89cf (diff)
downloadhdf5-e987b73f58ecea72d034ae39a70ad5d5c3bec9ab.zip
hdf5-e987b73f58ecea72d034ae39a70ad5d5c3bec9ab.tar.gz
hdf5-e987b73f58ecea72d034ae39a70ad5d5c3bec9ab.tar.bz2
[svn-r1216] Changes since 19990423
---------------------- ./src/H5B.c ./src/H5D.c ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fprivate.h ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c Changed H5F_block_read/write() to take a file transfer property list instead of just a parallel I/O mode. This will allow us to pass additional parameters to the I/O functions without having so many arguments to worry about. This fixes a bug I introduced last Friday for parallel HDF5 ./src/H5B.c Fixed decoding of B-tree keys when iterating through the leaves of the B-tree. This fixes a bug for applications that are adding new entries to groups and also listing the groups.
Diffstat (limited to 'src/H5Fmpio.c')
-rw-r--r--src/H5Fmpio.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/H5Fmpio.c b/src/H5Fmpio.c
index 7966c3b..753d6ca 100644
--- a/src/H5Fmpio.c
+++ b/src/H5Fmpio.c
@@ -106,11 +106,11 @@ static H5F_low_t *H5F_mpio_open(const char *name,
H5F_search_t *key/*out*/);
static herr_t H5F_mpio_close(H5F_low_t *lf, const H5F_access_t *access_parms);
static herr_t H5F_mpio_read(H5F_low_t *lf, H5F_access_t *access_parms,
- const H5D_transfer_t xfer_mode, const haddr_t *addr,
+ const H5F_xfer_t *xfer_parms, const haddr_t *addr,
size_t size, uint8_t *buf/*out*/);
htri_t H5F_mpio_tas_allsame(H5F_low_t *lf, hbool_t newval );
static herr_t H5F_mpio_write(H5F_low_t *lf, H5F_access_t *access_parms,
- const H5D_transfer_t xfer_mode, const haddr_t *addr,
+ const H5F_xfer_t *xfer_parms, const haddr_t *addr,
size_t size, const uint8_t *buf);
static herr_t H5F_mpio_flush(H5F_low_t *lf, const H5F_access_t *access_parms);
static herr_t H5F_MPIOff_to_haddr(MPI_Offset mpi_off, haddr_t *addr/*out*/);
@@ -126,14 +126,18 @@ const H5F_low_class_t H5F_LOW_MPIO_g[1] = {{
* this is ugly, but removing the const modifier from access_parms
* in the parameter list of the write function in H5F_low_class_t
* would propagate to a lot of functions that don't change that param */
- (int(*)(struct H5F_low_t *lf, const H5F_access_t *access_parms, const H5D_transfer_t xfer_mode, const haddr_t *addr, size_t size, uint8_t *buf))
+ (int(*)(struct H5F_low_t *lf, const H5F_access_t *access_parms,
+ const H5F_xfer_t *xfer_parms, const haddr_t *addr,
+ size_t size, uint8_t *buf))
H5F_mpio_read, /*read method */
/* rky 980816
* this is ugly, but removing the const modifier from access_parms
* in the parameter list of the write function in H5F_low_class_t
* would propagate to a lot of functions that don't change that param */
- (int(*)(struct H5F_low_t *lf, const H5F_access_t *access_parms, const H5D_transfer_t xfer_mode, const haddr_t *addr, size_t size, const uint8_t *buf))
+ (int(*)(struct H5F_low_t *lf, const H5F_access_t *access_parms,
+ const H5F_xfer_t *xfer_parms, const haddr_t *addr,
+ size_t size, const uint8_t *buf))
H5F_mpio_write, /*write method */
H5F_mpio_flush, /*flush method */
@@ -496,11 +500,14 @@ H5F_mpio_close(H5F_low_t *lf, const H5F_access_t UNUSED *access_parms)
* The guts of H5F_mpio_read and H5F_mpio_write
* should be replaced by a single dual-purpose routine.
*
+ * Robb Matzke, 19990421
+ * Changed xfer_mode to xfer_parms for all H5F_*_read() callbacks.
+ *
*-------------------------------------------------------------------------
*/
static herr_t
H5F_mpio_read(H5F_low_t *lf, H5F_access_t *access_parms,
- const H5D_transfer_t xfer_mode,
+ const H5F_xfer_t *xfer_parms,
const haddr_t *addr, size_t size, uint8_t *buf/*out*/)
{
MPI_Offset mpi_off, mpi_disp;
@@ -576,7 +583,7 @@ H5F_mpio_read(H5F_low_t *lf, H5F_access_t *access_parms,
access_parms->u.mpio.use_types = 0;
/* Read the data. */
- switch (xfer_mode){
+ switch (xfer_parms->xfer_mode){
case H5D_XFER_INDEPENDENT:
case H5D_XFER_DFLT:
mpierr = MPI_File_read_at ( lf->u.mpio.f, mpi_off, (void*) buf,
@@ -744,11 +751,14 @@ H5F_mpio_tas_allsame(H5F_low_t *lf, hbool_t newval )
* rky, 980828
* Added allsame parameter to make all but proc 0 skip the actual write.
*
+ * Robb Matzke, 19990421
+ * Changed xfer_mode to xfer_parms for all H5F_*_write() callbacks.
+ *
*-------------------------------------------------------------------------
*/
static herr_t
H5F_mpio_write(H5F_low_t *lf, H5F_access_t *access_parms,
- const H5D_transfer_t xfer_mode,
+ const H5F_xfer_t *xfer_parms,
const haddr_t *addr, size_t size, const uint8_t *buf)
{
MPI_Offset mpi_off, mpi_disp;
@@ -846,7 +856,7 @@ H5F_mpio_write(H5F_low_t *lf, H5F_access_t *access_parms,
access_parms->u.mpio.use_types = 0;
/* Write the data. */
- switch (xfer_mode){
+ switch (xfer_parms->xfer_mode){
case H5D_XFER_INDEPENDENT:
case H5D_XFER_DFLT:
mpierr = MPI_File_write_at ( lf->u.mpio.f, mpi_off, (void*) buf,