summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/H5Dint.c5
-rw-r--r--src/H5Oflush.c5
-rw-r--r--src/H5VLnative_datatype.c5
-rw-r--r--src/H5VLnative_group.c5
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")