summaryrefslogtreecommitdiffstats
path: root/src/H5Olayout.c
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-04-07 18:21:47 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-04-07 18:21:47 (GMT)
commite5c94192d730bb6cb23e4960c8f0c3165d8518ec (patch)
tree85be5f5fd523abf0b312ecd050b66524996e68e0 /src/H5Olayout.c
parentf2c3407eb6b429346b623276ed0833e3a5cec1c8 (diff)
downloadhdf5-e5c94192d730bb6cb23e4960c8f0c3165d8518ec.zip
hdf5-e5c94192d730bb6cb23e4960c8f0c3165d8518ec.tar.gz
hdf5-e5c94192d730bb6cb23e4960c8f0c3165d8518ec.tar.bz2
[svn-r29659] Added fixed array chunk indexing from revise_chunks.
Tested on: 64-bit Ubuntu 15.10 w/ gcc 5.2.1 Autotools serial w/ Java, Fortran, & C++
Diffstat (limited to 'src/H5Olayout.c')
-rw-r--r--src/H5Olayout.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/H5Olayout.c b/src/H5Olayout.c
index c19bbfc..bc1ebc6 100644
--- a/src/H5Olayout.c
+++ b/src/H5Olayout.c
@@ -298,6 +298,16 @@ H5O__layout_decode(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, H5O_t H5_ATTR_UNUSED
HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "v1 B-tree index type should never be in a v4 layout message")
break;
+ case H5D_CHUNK_IDX_FARRAY:
+ /* Fixed array creation parameters */
+ mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits = *p++;
+ if(0 == mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits)
+ HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "invalid fixed array creation parameter")
+
+ /* Set the chunk operations */
+ mesg->storage.u.chunk.ops = H5D_COPS_FARRAY;
+ break;
+
case H5D_CHUNK_IDX_EARRAY:
/* Extensible array creation parameters */
mesg->u.chunk.u.earray.cparam.max_nelmts_bits = *p++;
@@ -608,6 +618,11 @@ H5O__layout_encode(H5F_t *f, hbool_t H5_ATTR_UNUSED disable_shared, uint8_t *p,
HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "v1 B-tree index type should never be in a v4 layout message")
break;
+ case H5D_CHUNK_IDX_FARRAY:
+ /* Fixed array creation parameters */
+ *p++ = mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits;
+ break;
+
case H5D_CHUNK_IDX_EARRAY:
/* Extensible array creation parameters */
*p++ = mesg->u.chunk.u.earray.cparam.max_nelmts_bits;
@@ -1159,6 +1174,12 @@ H5O__layout_debug(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, const v
"Index Type:", "v1 B-tree");
break;
+ case H5D_CHUNK_IDX_FARRAY:
+ HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
+ "Index Type:", "Fixed Array");
+ /* (Should print the fixed array creation parameters) */
+ break;
+
case H5D_CHUNK_IDX_EARRAY:
HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
"Index Type:", "Extensible Array");