diff options
author | John Mainzer <mainzer@hdfgroup.org> | 2020-08-17 13:25:05 (GMT) |
---|---|---|
committer | John Mainzer <mainzer@hdfgroup.org> | 2020-08-17 13:25:05 (GMT) |
commit | 5d8c5849e5a3fe2b6a1e7c7d218da301edcc8f09 (patch) | |
tree | 262f7a835c3ddc67d0fe3c0531dcd9002d143f5d /src/H5Fint.c | |
parent | 0f9c22edc75715bd0a6e702b1c8c929650065d70 (diff) | |
parent | d00bab96fb4da12a18b5de528c96469978c4c927 (diff) | |
download | hdf5-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.c | 10 |
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*/ |