diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-09-16 17:25:49 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-09-16 17:25:49 (GMT) |
commit | bf1c2f0e8bf9788c2e47a1b1ac963cc321afab0e (patch) | |
tree | 98a39b5ce4784f6d1c2ce4e13b2552caa8291a3b | |
parent | f4f1c62cc5f6dd7224be1a1f6e27d6cd7b7bcabe (diff) | |
download | hdf5-bf1c2f0e8bf9788c2e47a1b1ac963cc321afab0e.zip hdf5-bf1c2f0e8bf9788c2e47a1b1ac963cc321afab0e.tar.gz hdf5-bf1c2f0e8bf9788c2e47a1b1ac963cc321afab0e.tar.bz2 |
[svn-r7478] Purpose:
Bug fix
Description:
H5Dwrite was only checking the "top level" of the datatype to stop parallel
I/O on variable-length datatypes.
Solution:
Make checks "deeper".
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
-rw-r--r-- | src/H5Dio.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c index d9bc1e9..55e66fc 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -741,11 +741,14 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, /* 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 */ - if (IS_H5FD_MPI(dataset->ent.file) && H5T_get_class(mem_type)==H5T_VLEN) + if (IS_H5FD_MPI(dataset->ent.file) && H5T_detect_class(mem_type, H5T_VLEN)>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 (IS_H5FD_MPI(dataset->ent.file) && H5T_get_class(mem_type)==H5T_REFERENCE && H5T_get_ref_type(mem_type)==H5R_DATASET_REGION) |