summaryrefslogtreecommitdiffstats
path: root/src/H5VLnative_object.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2019-09-26 22:47:00 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2019-10-11 02:46:22 (GMT)
commit71f36b343ac758029de343c0afa2d6269eb56468 (patch)
treeb47bfab236ac7886308d1d6c09f6bb1effacdb42 /src/H5VLnative_object.c
parent75bb8add458930420b1d0856605ecc55ff2e12de (diff)
downloadhdf5-71f36b343ac758029de343c0afa2d6269eb56468.zip
hdf5-71f36b343ac758029de343c0afa2d6269eb56468.tar.gz
hdf5-71f36b343ac758029de343c0afa2d6269eb56468.tar.bz2
Converted H5O MD cache cork calls to use the VOL.
Diffstat (limited to 'src/H5VLnative_object.c')
-rw-r--r--src/H5VLnative_object.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/H5VLnative_object.c b/src/H5VLnative_object.c
index 3f56334..64d3978 100644
--- a/src/H5VLnative_object.c
+++ b/src/H5VLnative_object.c
@@ -454,6 +454,40 @@ H5VL__native_object_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id,
break;
}
+ /* H5Odisable_mdc_flushes */
+ case H5VL_NATIVE_OBJECT_DISABLE_MDC_FLUSHES:
+ {
+ H5O_loc_t *oloc = loc.oloc;
+
+ if (H5O_disable_mdc_flushes(oloc) < 0)
+ HGOTO_ERROR(H5E_OHDR, H5E_CANTCORK, FAIL, "unable to cork the metadata cache");
+
+ break;
+ }
+
+ /* H5Oenable_mdc_flushes */
+ case H5VL_NATIVE_OBJECT_ENABLE_MDC_FLUSHES:
+ {
+ H5O_loc_t *oloc = loc.oloc;
+
+ if (H5O_enable_mdc_flushes(oloc) < 0)
+ HGOTO_ERROR(H5E_OHDR, H5E_CANTUNCORK, FAIL, "unable to uncork the metadata cache");
+
+ break;
+ }
+
+ /* H5Oare_mdc_flushes_disabled */
+ case H5VL_NATIVE_OBJECT_ARE_MDC_FLUSHES_DISABLED:
+ {
+ H5O_loc_t *oloc = loc.oloc;
+ hbool_t *are_disabled = (hbool_t *)HDva_arg(arguments, hbool_t *);
+
+ if (H5O_are_mdc_flushes_disabled(oloc, are_disabled) < 0)
+ HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "unable to determine metadata cache cork status");
+
+ break;
+ }
+
default:
HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't perform this operation on object");
} /* end switch */