summaryrefslogtreecommitdiffstats
path: root/src/H5Fint.c
diff options
context:
space:
mode:
authorJohn Mainzer <mainzer@hdfgroup.org>2020-08-17 13:25:05 (GMT)
committerJohn Mainzer <mainzer@hdfgroup.org>2020-08-17 13:25:05 (GMT)
commit5d8c5849e5a3fe2b6a1e7c7d218da301edcc8f09 (patch)
tree262f7a835c3ddc67d0fe3c0531dcd9002d143f5d /src/H5Fint.c
parent0f9c22edc75715bd0a6e702b1c8c929650065d70 (diff)
parentd00bab96fb4da12a18b5de528c96469978c4c927 (diff)
downloadhdf5-5d8c5849e5a3fe2b6a1e7c7d218da301edcc8f09.zip
hdf5-5d8c5849e5a3fe2b6a1e7c7d218da301edcc8f09.tar.gz
hdf5-5d8c5849e5a3fe2b6a1e7c7d218da301edcc8f09.tar.bz2
Merge pull request #2769 in HDFFV/hdf5 from mdc_sl_opt to develop
* commit 'd00bab96fb4da12a18b5de528c96469978c4c927': Minor copy edits to comments -- no code changes. Tab to space conversions. When flushing, the metadata cache attempts to flush entries in increasing address order. To facilitate this, the metadata cache needs a list of of dirty entries in increasing address order. This is implemented via a skip list of all dirty entries in the cache.
Diffstat (limited to 'src/H5Fint.c')
-rw-r--r--src/H5Fint.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/H5Fint.c b/src/H5Fint.c
index 1431be0..46508fe 100644
--- a/src/H5Fint.c
+++ b/src/H5Fint.c
@@ -2144,6 +2144,11 @@ H5F__flush_phase2(H5F_t *f, hbool_t closing)
/* Sanity check arguments */
HDassert(f);
+ /* Inform the metadata cache that we are about to flush */
+ if(H5AC_prep_for_file_flush(f) < 0)
+ /* Push error, but keep going*/
+ HDONE_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "prep for MDC flush failed")
+
/* Flush the entire metadata cache */
if(H5AC_flush(f) < 0)
/* Push error, but keep going*/
@@ -2176,6 +2181,11 @@ H5F__flush_phase2(H5F_t *f, hbool_t closing)
H5CX_set_mpi_file_flushing(FALSE);
#endif /* H5_HAVE_PARALLEL */
+ /* Inform the metadata cache that we are done with the flush */
+ if(H5AC_secure_from_file_flush(f) < 0)
+ /* Push error, but keep going*/
+ HDONE_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "secure from MDC flush failed")
+
/* Flush out the metadata accumulator */
if(H5F__accum_flush(f->shared) < 0)
/* Push error, but keep going*/