Name: H5Pset_meta_block_size
Signature:
  herr_t `H5Pset_meta_block_size`( hid_t `fapl_id`, hsize_t `size` )
Purpose:
  Sets the minimum metadata block size.
Description:
  `H5Pset_meta_block_size` sets the minimum size, in bytes, of metadata block allocations when `H5FD_FEAT_AGGREGATE_METADATA` is set by a VFL driver.

  Each raw metadata block is initially allocated to be of the given size. Specific metadata objects (e.g., object headers, local heaps, B-trees) are then sub-allocated from this block.

  The default setting is 2048 bytes, meaning that the library will attempt to aggregate metadata in at least 2K blocks in the file. Setting the value to `0` (zero) with this function will turn off metadata aggregation, even if the VFL driver attempts to use the metadata aggregation strategy.

  Metadata aggregation reduces the number of small data objects in the file that would otherwise be required for metadata. The aggregated block of metadata is usually written in a single write action and always in a contiguous block, potentially significantly improving library and application performance.

Parameters:

hid_t `fapl_id` | IN: File access property list identifier.
hsize_t `size` | IN: Minimum size, in bytes, of metadata block allocations.

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

      SUBROUTINE h5pset_meta_block_size_f(plist_id, size, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: plist_id ! File access property list
                                               ! identifier
        INTEGER(HSIZE_T), INTENT(IN) :: size   ! Metadata block size
        INTEGER, INTENT(OUT)       :: hdferr   ! Error code
                                               ! 0 on success and -1 on failure
      END SUBROUTINE h5pset_meta_block_size_f

History:

Release | C
1.4.0 | Function introduced in this release.