diff options
author | jhendersonHDF <jhenderson@hdfgroup.org> | 2022-08-07 04:56:32 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-07 04:56:32 (GMT) |
commit | 043f66afd22c329104813b61a789af862e5349ac (patch) | |
tree | d0e336e0efe122181eedb2c003d4a5cc56dfe013 | |
parent | 597ce3cdbf233fd1810e34e8452049d3285ab170 (diff) | |
download | hdf5-043f66afd22c329104813b61a789af862e5349ac.zip hdf5-043f66afd22c329104813b61a789af862e5349ac.tar.gz hdf5-043f66afd22c329104813b61a789af862e5349ac.tar.bz2 |
Set entry pointer mem type for vector I/O in collective metadata writes (#1961)
-rw-r--r-- | src/H5Cmpio.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/H5Cmpio.c b/src/H5Cmpio.c index c7542d4..8103989 100644 --- a/src/H5Cmpio.c +++ b/src/H5Cmpio.c @@ -997,11 +997,12 @@ H5C__collective_write(H5F_t *f) HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, "can't retrieve skip list item") /* Set up initial array position & buffer base address */ + HDassert(entry_ptr->type); base_buf = entry_ptr->image_ptr; addrs[0] = entry_ptr->addr; sizes[0] = entry_ptr->size; bufs[0] = base_buf; - types[0] = H5FD_MEM_DEFAULT; + types[0] = entry_ptr->type->mem_type; node = H5SL_next(node); i = 1; @@ -1010,20 +1011,17 @@ H5C__collective_write(H5F_t *f) HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, "can't retrieve skip list item") /* Set up array position */ + HDassert(entry_ptr->type); addrs[i] = entry_ptr->addr; sizes[i] = entry_ptr->size; bufs[i] = entry_ptr->image_ptr; - types[i] = H5FD_MEM_DEFAULT; + types[i] = entry_ptr->type->mem_type; /* Advance to next node & array location */ node = H5SL_next(node); i++; } /* end while */ - - /* Optimization for vector I/O */ - if (count > 1) - types[1] = H5FD_MEM_NOLIST; - } /* end if */ + } /* end if */ /* Pass buf type, file type to the file driver */ if (H5CX_set_mpi_coll_datatypes(MPI_BYTE, MPI_BYTE) < 0) |