diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2019-01-06 04:31:42 (GMT) |
---|---|---|
committer | M. Scot Breitenfeld <brtnfld@hdfgroup.org> | 2019-01-07 22:55:59 (GMT) |
commit | fed17ed3838d2cf73f8848c9d340a9139c0c02dc (patch) | |
tree | 32ff8b32b33a2947c27cbff5a05baee35c23d58b /src/H5Dio.c | |
parent | 5dfe00629588a54dbfb6f2d09dfbd88177e37cc2 (diff) | |
download | hdf5-fed17ed3838d2cf73f8848c9d340a9139c0c02dc.zip hdf5-fed17ed3838d2cf73f8848c9d340a9139c0c02dc.tar.gz hdf5-fed17ed3838d2cf73f8848c9d340a9139c0c02dc.tar.bz2 |
HDFFV-10625 -- Implemented a process-0 read and then broadcast for collective read of full (HS_ALL), contiguous, atomic datasets by all the processes in the file communicator.
Diffstat (limited to 'src/H5Dio.c')
-rw-r--r-- | src/H5Dio.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c index fe85d23..6062dff 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -657,22 +657,12 @@ H5D__write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space, /* Various MPI based checks */ #ifdef H5_HAVE_PARALLEL - if H5F_HAS_FEATURE(dataset->oloc.file, H5FD_FEAT_HAS_MPI) { - /* If MPI based VFD is used, no VL datatype support yet. */ + if(H5F_HAS_FEATURE(dataset->oloc.file, H5FD_FEAT_HAS_MPI)) { + /* If MPI based VFD is used, no VL or region reference datatype support yet. */ /* This is because they use the global heap in the file and we don't */ /* support parallel access of that yet */ - if(H5T_detect_class(type_info.mem_type, H5T_VLEN, FALSE) > 0) - HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "Parallel IO does not support writing VL datatypes yet") - - /* If MPI based VFD is used, no VL datatype support yet. */ - /* This is because they use the global heap in the file and we don't */ - /* support parallel access of that yet */ - /* We should really use H5T_detect_class() here, but it will be difficult - * to detect the type of the reference if it is nested... -QAK - */ - if(H5T_get_class(type_info.mem_type, TRUE) == H5T_REFERENCE && - H5T_get_ref_type(type_info.mem_type) == H5R_DATASET_REGION) - HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "Parallel IO does not support writing region reference datatypes yet") + if(H5T_is_vl_storage(type_info.mem_type) > 0) + HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "Parallel IO does not support writing VL or region reference datatypes yet") } /* end if */ else { H5FD_mpio_xfer_t io_xfer_mode; /* MPI I/O transfer mode */ |