summaryrefslogtreecommitdiffstats
path: root/src/H5Fio.c
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2023-08-02 04:01:01 (GMT)
committerGitHub <noreply@github.com>2023-08-02 04:01:01 (GMT)
commitb1e07c74fde8bf4f1c61c98e951f080c570accf5 (patch)
treece1b45350a790e98e20a480cf0ba4ca5e1fb31ee /src/H5Fio.c
parentf62feaef31aebee95bef9b59a7423cb728e872cf (diff)
downloadhdf5-b1e07c74fde8bf4f1c61c98e951f080c570accf5.zip
hdf5-b1e07c74fde8bf4f1c61c98e951f080c570accf5.tar.gz
hdf5-b1e07c74fde8bf4f1c61c98e951f080c570accf5.tar.bz2
Switch parallel compression to use vector I/O (#3245)
Updates parallel compression feature to use vector I/O instead of creating and passing down MPI derived types to VFD
Diffstat (limited to 'src/H5Fio.c')
-rw-r--r--src/H5Fio.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/H5Fio.c b/src/H5Fio.c
index 1924004..09d57e8 100644
--- a/src/H5Fio.c
+++ b/src/H5Fio.c
@@ -328,8 +328,16 @@ H5F_shared_vector_read(H5F_shared_t *f_sh, uint32_t count, H5FD_mem_t types[], h
* for now, assume the caller has done this already.
*/
#ifndef NDEBUG
- for (uint32_t i = 0; i < count; i++)
+ for (uint32_t i = 0; i < count; i++) {
+ /* Break early if H5FD_MEM_NOLIST was specified
+ * since a full 'count'-sized array may not
+ * have been passed for 'types'
+ */
+ if (i > 0 && types[i] == H5FD_MEM_NOLIST)
+ break;
+
assert(types[i] != H5FD_MEM_GHEAP);
+ }
#endif
/* Pass down to file driver layer (bypass page buffer for now) */
@@ -373,8 +381,16 @@ H5F_shared_vector_write(H5F_shared_t *f_sh, uint32_t count, H5FD_mem_t types[],
* for now, assume the caller has done this already.
*/
#ifndef NDEBUG
- for (uint32_t i = 0; i < count; i++)
+ for (uint32_t i = 0; i < count; i++) {
+ /* Break early if H5FD_MEM_NOLIST was specified
+ * since a full 'count'-sized array may not
+ * have been passed for 'types'
+ */
+ if (i > 0 && types[i] == H5FD_MEM_NOLIST)
+ break;
+
assert(types[i] != H5FD_MEM_GHEAP);
+ }
#endif
/* Pass down to file driver layer (bypass page buffer for now) */