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).