diff options
author | David Young <dyoung@hdfgroup.org> | 2020-06-19 21:38:01 (GMT) |
---|---|---|
committer | David Young <dyoung@hdfgroup.org> | 2020-06-19 21:38:01 (GMT) |
commit | 2b1df1692588c12426f22a6daf2f697dbe71a0a6 (patch) | |
tree | a664b3743967e5da8760a06da327188d252afb84 /src/H5Oprivate.h | |
parent | bd87af0408461fee290c559f45e251919f2c1263 (diff) | |
download | hdf5-2b1df1692588c12426f22a6daf2f697dbe71a0a6.zip hdf5-2b1df1692588c12426f22a6daf2f697dbe71a0a6.tar.gz hdf5-2b1df1692588c12426f22a6daf2f697dbe71a0a6.tar.bz2 |
Make H5Drefresh() copy non-persistent properties---e.g., dataset access
property lists---from the closed dataset to the reopened dataset. Now my
chunk-cache settings appear to survive H5Drefresh() calls.
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r-- | src/H5Oprivate.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index 0be6d89..9a1c1ed 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -275,6 +275,14 @@ typedef struct H5O_shared_t { } u; } H5O_shared_t; +/* Storage for non-persistent (i.e., not stored in the HDF5 file) information + * that has to be preserved when an object is closed & reopened by + * H5O_refresh_metadata(). + */ +typedef union _H5O_refresh_state { + hid_t dapl_id; // dataset refresh: access plist + H5O_shared_t shared_ohdr_info; // datatype refresh +} H5O_refresh_state_t; /* * Link Info Message. @@ -972,7 +980,8 @@ H5_DLL herr_t H5O_msg_get_flags(const H5O_loc_t *loc, unsigned type_id, uint8_t H5_DLL herr_t H5O_flush(H5O_loc_t *oloc, hid_t obj_id); H5_DLL herr_t H5O_flush_common(H5O_loc_t *oloc, hid_t obj_id); H5_DLL herr_t H5O_refresh_metadata(hid_t oid, H5O_loc_t oloc); -H5_DLL herr_t H5O_refresh_metadata_reopen(hid_t oid, H5G_loc_t *obj_loc, H5VL_t *vol_driver, hbool_t start_swmr); +H5_DLL herr_t H5O_refresh_metadata_reopen(hid_t, H5G_loc_t *, + const H5O_refresh_state_t *, H5VL_t *, hbool_t); /* Cache corking functions */ H5_DLL herr_t H5O_disable_mdc_flushes(H5O_loc_t *oloc); |