Page tree

The license could not be verified: License Certificate has expired!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »









Prevents metadata entries for an HDF5 object from being flushed from the metadata cache to storage.




herr_t H5Odisable_mdc_flushes( hid_t object_id )

hid_t object_id   IN: Identifier of the object that will have flushes disabled.


The H5O/H5Fenable/disable_mdc_flushes() and associated H5Xflush() functions can be used to control the flushing of entries from a file’s metadata cache.

This function prevents an object’s or cache’s dirty metadata entries from being flushed from the cache by the usual cache eviction/flush policy. Instead, users must manually flush the cache or entries for individual objects via the appropriateH5F/H5D/H5G/H5T/H5Oflush() calls.

Metadata cache entries can be controlled at both the individual HDF5 object level (datasets, groups, committed datatypes) and the entire metadata cache level.


HDF5 objects include datasets, groups, and committed datatypes. Only hid_t identifiers that represent these objects can be passed to this function.

Passing in a hid_t identifier that represents any other HDF5 entity is considered an error.

It is an error to pass an HDF5 file identifier (obtained from H5Fopen() or H5Fcreate()) to this function. Use H5Fdisable_mdc_flushes instead.

Misuse of this function can cause the cache to exhaust available memory.

Objects can be returned to the default automatic flush behavior with H5Oenable_mdc_flushes().

Flush prevention only pertains to new or dirty metadata entries. Clean entries can be evicted from the cache.

Calling this function on an object that has already had flushes disabled will return an error.


Returns a non-negative value if successful; otherwise returns a negative value.


examples / h5_subset.c [32:42]  1.10/master  HDFFV/hdf5
main (void)
    hsize_t     dims[2], dimsm[2];   
    int         data[DIM0][DIM1];           /* data to write */
    int         sdata[DIM0_SUB][DIM1_SUB];  /* subset to write */
    int         rdata[DIM0][DIM1];          /* buffer for read */
    hid_t       file_id, dataset_id;        /* handles */
    hid_t       dataspace_id, memspace_id; 


     USE HDF5 ! This module contains all necessary modules


     CHARACTER(LEN=11), PARAMETER :: filename = "compound.h5" ! File name
     CHARACTER(LEN=8), PARAMETER :: dsetname = "Compound"     ! Dataset name
     INTEGER, PARAMETER :: dimsize = 6 ! Size of the dataset

     INTEGER(HID_T) :: file_id       ! File identifier

c++ / examples / create.cpp [33:43]  1.10/master  HDFFV/hdf5
int main (void)
    * Data initialization.
   int i, j;
   int data[NX][NY];          // buffer for data to write
   for (j = 0; j < NX; j++)
      for (i = 0; i < NY; i++)

public class H5Ex_D_Chunk {
    private static String FILENAME = "H5Ex_D_Chunk.h5";
    private static String DATASETNAME = "DS1";
    private static final int DIM_X = 6;
    private static final int DIM_Y = 8;
    private static final int CHUNK_X = 4;
    private static final int CHUNK_Y = 4;
    private static final int RANK = 2;
    private static final int NDIMS = 2;

Release    Change
1.10.0C function introduced with this release.

--- Last Modified: November 14, 2017 | 11:14 AM