diff --git a/doxygen/dox/H5.format.4.0.dox b/doxygen/dox/H5.format.4.0.dox index 9c2a14b219a..fa0243abbc1 100644 --- a/doxygen/dox/H5.format.4.0.dox +++ b/doxygen/dox/H5.format.4.0.dox @@ -1913,7 +1913,7 @@ The record layout for each stored (in other words, non-testing) B-tree type is a “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. - + @@ -1932,7 +1932,7 @@ The record layout for each stored (in other words, non-testing) B-tree type is a
Fields: Version 2 B-tree, Type 11 Record Layout - Filtered Dataset ChunksFields: Version 2 B-tree, Type 10 Record Layout - Non-filtered Dataset Chunks
Field Name Description
- + @@ -1963,9 +1963,44 @@ The record layout for each stored (in other words, non-testing) B-tree type is a
\anchor FMT4V2BtType11 Layout: Version 2 B-tree, Type 11 Record Layout - Filtered Dataset Chunks\anchor FMT4V2BtType11 Layout: Version 2 B-tree, Type 11 Record Layout - Filtered Dataset Chunks (Layout Version 4)
byte byte
\li Items marked with an ‘O’ in the above table are of the size specified in “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. +\li This encoding is used when this B-Tree is used as an index for a dataset with layout message version 4. - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fields: Version 2 B-tree, Type 5 Record Layout - Non-filtered Dataset ChunksType11 Layout: Version 2 B-tree, Type 11 Record Layout - Filtered Dataset Chunks (Layout Version 5)
bytebytebytebyte

AddressO


Chunk SizeO

Filter Mask

Dimension 0 Scaled Offset (8 bytes)


Dimension 1 Scaled Offset (8 bytes)


...


Dimension \#n Scaled Offset (8 bytes)

+\li Items marked with an ‘O’ in the above table are of the size specified in + “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. +\li This encoding is used when this B-tree is used as an index for a dataset with layout message version 5 or above. + + + @@ -1976,7 +2011,21 @@ The record layout for each stored (in other words, non-testing) B-tree type is a - + @@ -7876,8 +7925,9 @@ Class-specific information for chunked storage (layout class 2): \anchor FMT4DataLayoutV4

Version 4 of this message is similar to version 3 but has additional information for the virtual layout class as well as indexing information for the chunked layout class.

+

Version 5 of this message is identical to version 4, except for the encoding of filtered chunk records for Fixed Array, Extensible Array, and v2 B-Tree indices. The Library also requires layout version 5 for datasets with chunk size greater than or equal to 4 GiB.

Fields: Version 2 B-tree, Type 11 Record Layout - Filtered Dataset Chunks
Field Name Description
Chunk SizeThis field is the size of the dataset chunk in bytes.This field is the size of the dataset chunk in bytes. The length of this field is determined depending on the version of the associated layout message as follows: + + + + + + + + + + + + + +
Layout Message VersionChunk Size Encoding Length
4One more than the number of bytes that would be needed to encode the size of an unfiltered chunk, but not more than 8.
5 or aboveThe size specified in the “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock.
Filter Mask
- + @@ -7895,15 +7945,29 @@ information for the virtual layout class as well as indexing information for the
Layout: Data Layout Message (Version 4)Layout: Data Layout Message (Versions 4 and 5)
byte byte
- + - + @@ -10968,7 +11032,7 @@ types are described below.
\anchor FMT4FaFilterChunk
Fields: Data Layout Message (Version 4)Fields: Data Layout Message (Versions 4 and 5)
Field Name Description
VersionThe value for this field is 4 and is used by version 1.10.0 and later of the library to - store properties for each layout class and indexing information for the chunked layout.The version number information is used for changes in the format of the data layout message and + is described here: + + + + + + + + + + + + + +
VersionDescription
4Used by version 1.10.0 and later of the library to store properties for each layout class and indexing information for the chunked layout.
5Used by version 2.0.0 and later of the library and is identical to version 4, except the encoding of filtered chunk records for Fixed Array, Extensible Array, and v2 B-Tree indices has been changed to allow for filters that expand chunks up to 264-1 bytes. The Library will also not allow creation of datasets with chunk size greater than 232-1 bytes (4 GiB - 1) with layout version 4 or below (including unfiltered chunks), because versions of the library that don't understand layout version 5 cannot process these large chunks. However, such large chunks are not precluded by the version 4 layout encoding per se.
Layout Class
- + @@ -10987,6 +11051,29 @@ types are described below.
Layout: Data Block Element for Filtered Dataset ChunkLayout: Data Block Element for Filtered Dataset Chunk (Layout Version 4)
byte byte
\li Items marked with an ‘O’ in the above table are of the size specified in “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. +\li This encoding is used when this Fixed Array is used as an index for a dataset with layout message version 4. + + + + + + + + + + + + + + + + + + +
Layout: Data Block Element for Filtered Dataset Chunk (Layout Version 5)
bytebytebytebyte

AddressO


Chunk SizeO

Filter Mask
+\li Items marked with an ‘O’ in the above table are of the size specified in + “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. +\li This encoding is used when this Fixed Array is used as an index for a dataset with layout message version 5 or above. @@ -11000,7 +11087,21 @@ types are described below.
- + @@ -11574,7 +11675,7 @@ blocks/pages in a chunk index varies as they are allocated as needed and the fir \anchor FMT4EaFilterChunk
Fields: Data Block Element for Filtered Dataset Chunk
Chunk SizeThe size of the dataset chunk in bytes.The size of the dataset chunk in bytes. The length of this field is determined depending on the version of the associated layout message as follows: + + + + + + + + + + + + + +
Layout Message VersionChunk Size Encoding Length
4One more than the number of bytes that would be needed to encode the size of an unfiltered chunk, but not more than 8.
5 or aboveThe size specified in the “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock.
Filter Mask
- + @@ -11593,6 +11694,30 @@ blocks/pages in a chunk index varies as they are allocated as needed and the fir
Layout: Data Block Element for Filtered Dataset ChunkLayout: Data Block Element for Filtered Dataset Chunk (Layout Version 4)
byte byte
\li Items marked with an ‘O’ in the above table are of the size specified in “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. +\li This encoding is used when this B-Tree is used as an index for a dataset with layout message version 4. + + + + + + + + + + + + + + + + + + + +
Layout: Data Block Element for Filtered Dataset Chunk (Layout Version 5)
bytebytebytebyte

AddressO


Chunk Size (variable size; at most 8 bytes)

Filter Mask
+\li Items marked with an ‘O’ in the above table are of the size specified in + “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock. +\li This encoding is used when this B-Tree is used as an index for a dataset with layout message version 5 or above. @@ -11606,7 +11731,21 @@ blocks/pages in a chunk index varies as they are allocated as needed and the fir - + diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h index f28cd6d7b08..68021727703 100644 --- a/src/H5Ppublic.h +++ b/src/H5Ppublic.h @@ -928,9 +928,9 @@ H5_DLL hid_t H5Pdecode(const void *buf); * control the encoding via the \a libver_bounds property * (see H5Pset_libver_bounds()). If the \a libver_bounds * property is missing, H5Pencode2() proceeds as if the \a - * libver_bounds property were set to (#H5F_LIBVER_EARLIEST, + * libver_bounds property were set to (#H5F_LIBVER_V18, * #H5F_LIBVER_LATEST). (Functionally, H5Pencode1() is identical to - * H5Pencode2() with \a libver_bounds set to (#H5F_LIBVER_EARLIEST, + * H5Pencode2() with \a libver_bounds set to (#H5F_LIBVER_V18, * #H5F_LIBVER_LATEST).) * Properties that do not have encode callbacks will be skipped. * There is currently no mechanism to register an encode callback for @@ -5116,6 +5116,8 @@ H5_DLL herr_t H5Pset_gc_references(hid_t fapl_id, unsigned gc_ref); * *
Fields: Data Block Element for Filtered Dataset Chunk
Chunk SizeThe size of the dataset chunk in bytes.The size of the dataset chunk in bytes. The length of this field is determined depending on the version of the associated layout message as follows: + + + + + + + + + + + + + +
Layout Message VersionChunk Size Encoding Length
4One more than the number of bytes that would be needed to encode the size of an unfiltered chunk, but not more than 8.
5 or aboveThe size specified in the “@ref FMT4SizeOfOffsetsV0 "Size of Offsets"” field in the superblock.
Filter Mask
* + * The default settings are \p low=#H5F_LIBVER_V18, \p high=#H5F_LIBVER_LATEST. + * * \note *H5F_LIBVER_LATEST*:
* Since 2.0.x is also #H5F_LIBVER_LATEST, there is no upper * limit on the format versions to use. That is, if a @@ -5123,6 +5125,8 @@ H5_DLL herr_t H5Pset_gc_references(hid_t fapl_id, unsigned gc_ref); * in 2.0.x series, this setting will allow the object to be * created. * + * \version 2.0.0 Default setting for \p low changed to #H5F_LIBVER_V18 + * * \version 1.10.2 #H5F_LIBVER_V18 added to the enumerated defines in * #H5F_libver_t. *