diff options
author | Jordan Henderson <jhenderson@hdfgroup.org> | 2017-02-08 17:40:57 (GMT) |
---|---|---|
committer | Jordan Henderson <jhenderson@hdfgroup.org> | 2017-02-08 17:40:57 (GMT) |
commit | 5610256c7202ae4c0001d439db3c295b2e1d6a1c (patch) | |
tree | 6c4db83f66f2761bac10474591f89223b5d1eff2 /src/H5Dio.c | |
parent | ce5e3030502f2ed0f09aad12168635f635444d70 (diff) | |
download | hdf5-5610256c7202ae4c0001d439db3c295b2e1d6a1c.zip hdf5-5610256c7202ae4c0001d439db3c295b2e1d6a1c.tar.gz hdf5-5610256c7202ae4c0001d439db3c295b2e1d6a1c.tar.bz2 |
Trigger error if library tries to break to independent I/O with filters
in the pipeline
Diffstat (limited to 'src/H5Dio.c')
-rw-r--r-- | src/H5Dio.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c index 6a4e6ec..2122cb0 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -1154,6 +1154,13 @@ H5D__ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset, hid_t dxpl_id, io_info->io_ops.single_write = H5D__mpio_select_write; } /* end if */ else { + /* Check if there are any filters in the pipeline. If there are, + * we cannot break to independent I/O if this is a write operation; + * otherwise there will be metadata inconsistencies in the file. + */ + if (io_info->op_type == H5D_IO_OP_WRITE && io_info->dset->shared->dcpl_cache.pline.nused > 0) + HGOTO_ERROR(H5E_IO, H5E_NO_INDEPENDENT, FAIL, "can't perform independent write with filters in pipeline") + /* If we won't be doing collective I/O, but the user asked for * collective I/O, change the request to use independent I/O, but * mark it so that we remember to revert the change. |