diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Dint.c | 5 | ||||
-rw-r--r-- | src/H5Oflush.c | 5 | ||||
-rw-r--r-- | src/H5VLnative_datatype.c | 5 | ||||
-rw-r--r-- | src/H5VLnative_group.c | 5 |
4 files changed, 20 insertions, 0 deletions
diff --git a/src/H5Dint.c b/src/H5Dint.c index ee49464..0407a2e 100644 --- a/src/H5Dint.c +++ b/src/H5Dint.c @@ -3223,6 +3223,11 @@ H5D__flush(H5D_t *dset, hid_t dset_id) HDassert(dset); HDassert(dset->shared); + /* Currently, H5Oflush causes H5Fclose to trigger an assertion failure in metadata cache. + * Leave this situation for the future solution */ + if (H5F_HAS_FEATURE(dset->oloc.file, H5FD_FEAT_HAS_MPI)) + HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "H5Oflush isn't supported for parallel") + /* Flush any dataset information still cached in memory */ if (H5D__flush_real(dset) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFLUSH, FAIL, "unable to flush cached dataset info") diff --git a/src/H5Oflush.c b/src/H5Oflush.c index 116a04b..1d31973 100644 --- a/src/H5Oflush.c +++ b/src/H5Oflush.c @@ -75,6 +75,11 @@ H5O_flush(H5O_loc_t *oloc, hid_t obj_id) FUNC_ENTER_NOAPI(FAIL) + /* Currently, H5Oflush causes H5Fclose to trigger an assertion failure in metadata cache. + * Leave this situation for the future solution */ + if (H5F_HAS_FEATURE(oloc->file, H5FD_FEAT_HAS_MPI)) + HGOTO_ERROR(H5E_ARGS, H5E_UNSUPPORTED, FAIL, "H5Oflush isn't supported for parallel") + /* Get the object pointer */ if (NULL == (obj_ptr = H5VL_object(obj_id))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid object identifier") diff --git a/src/H5VLnative_datatype.c b/src/H5VLnative_datatype.c index bf6f37c..027b4ac 100644 --- a/src/H5VLnative_datatype.c +++ b/src/H5VLnative_datatype.c @@ -237,6 +237,11 @@ H5VL__native_datatype_specific(void *obj, H5VL_datatype_specific_args_t *args, h switch (args->op_type) { /* H5VL_DATATYPE_FLUSH */ case H5VL_DATATYPE_FLUSH: { + /* Currently, H6Oflush causes H5Fclose to trigger an assertion failure in metadata cache. + * Leave this situation for the future solution */ + if (H5F_HAS_FEATURE(dt->oloc.file, H5FD_FEAT_HAS_MPI)) + HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "H5Oflush isn't supported for parallel") + if (H5O_flush_common(&dt->oloc, args->args.flush.type_id) < 0) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFLUSH, FAIL, "unable to flush datatype") diff --git a/src/H5VLnative_group.c b/src/H5VLnative_group.c index 54f8337..08ac2aa 100644 --- a/src/H5VLnative_group.c +++ b/src/H5VLnative_group.c @@ -280,6 +280,11 @@ H5VL__native_group_specific(void *obj, H5VL_group_specific_args_t *args, hid_t H /* H5Gflush */ case H5VL_GROUP_FLUSH: { + /* Currently, H5Oflush causes H5Fclose to trigger an assertion failure in metadata cache. + * Leave this situation for the future solution */ + if (H5F_HAS_FEATURE(grp->oloc.file, H5FD_FEAT_HAS_MPI)) + HGOTO_ERROR(H5E_SYM, H5E_UNSUPPORTED, FAIL, "H5Oflush isn't supported for parallel") + if (H5O_flush_common(&grp->oloc, args->args.flush.grp_id) < 0) HGOTO_ERROR(H5E_SYM, H5E_CANTFLUSH, FAIL, "unable to flush group") |