Last modified: 13 August 2014

Name: H5Pset_core_write_tracking

Signature:
herr_t H5Pset_core_write_tracking( hid_t fapl_id, hbool_t is_enabled, size_t page_size )

Purpose:
Sets write tracking information for core driver, H5FD_CORE.

Description:
When a file is created or opened for writing using the core virtual file driver (VFD) with the backing store option turned on, the core driver can be configured to track changes to the file and write out only the modified bytes.

This write tracking feature is enabled and disabled with is_enabled. The default setting is that write tracking is disabled, or off.

To avoid a large number of small writes, changes can be aggregated into pages of a user-specified size, page_size.

Setting page_size to 1 enables tracking with no page aggregation.

The backing store option is set via the function H5Pset_fapl_core.

Notes:
This function is only for use with the core VFD and must be used after the call to H5Pset_fapl_core. It is an error to use this function with any other VFD.

It is an error to use this function when the backing store flag has not been set using H5Pset_fapl_core.

This function only applies to the backing store write operation which typically occurs when the file is flushed or closed. This function has no relationship to the increment parameter passed to H5Pset_fapl_core.

For optimum performance, the page_size parameter should be a power of two.

It is an error to set the page size to 0.

Parameters:
hid_t fapl_id IN: File access property list identifier.
hbool_t is_enabled   IN: Boolean value specifying whether feature is enabled.
size_t page_size IN: Positive integer specifying size, in bytes, of write aggregation pages.
Value of 1 (one) enables tracking with no paging.

Returns:
Returns a non-negative value if successful. Otherwise returns a negative value.

Fortran Interface:
None

See Also:
H5Pget_core_write_tracking

History:
Release Change
1.8.13 C function introduced with this release.
1.8.14 C function modified in this release to return error if page_size is set to 0 (zero).