diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2016-04-19 04:21:12 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2016-04-19 04:21:12 (GMT) |
commit | f7aff7d5cf0f1c9cd056ebc0274ad8d0683890a2 (patch) | |
tree | 88247f058e18aebfcb06f802ea9d21967a37ab6b /src/H5Olayout.c | |
parent | 6ce67650fbaa78b37ccb0734fb97bf34d3770af6 (diff) | |
download | hdf5-f7aff7d5cf0f1c9cd056ebc0274ad8d0683890a2.zip hdf5-f7aff7d5cf0f1c9cd056ebc0274ad8d0683890a2.tar.gz hdf5-f7aff7d5cf0f1c9cd056ebc0274ad8d0683890a2.tar.bz2 |
[svn-r29738] Description:
Bring "single" chunk index from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (w/check-vfd)
(h5committest forthcoming)
Diffstat (limited to 'src/H5Olayout.c')
-rw-r--r-- | src/H5Olayout.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/H5Olayout.c b/src/H5Olayout.c index bc1ebc6..299a43e 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_SINGLE: /* Single Chunk Index */ + if(mesg->u.chunk.flags & H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER) { + H5F_DECODE_LENGTH(f, p, mesg->storage.u.chunk.u.single.nbytes); + UINT32DECODE(p, mesg->storage.u.chunk.u.single.filter_mask); + } /* end if */ + + /* Set the chunk operations */ + mesg->storage.u.chunk.ops = H5D_COPS_SINGLE; + break; + case H5D_CHUNK_IDX_FARRAY: /* Fixed array creation parameters */ mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits = *p++; @@ -618,6 +628,14 @@ 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_SINGLE: /* Single Chunk */ + /* Filter information */ + if(mesg->u.chunk.flags & H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER) { + H5F_ENCODE_LENGTH(f, p, mesg->storage.u.chunk.u.single.nbytes); + UINT32ENCODE(p, mesg->storage.u.chunk.u.single.filter_mask); + } /* end if */ + break; + case H5D_CHUNK_IDX_FARRAY: /* Fixed array creation parameters */ *p++ = mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits; @@ -1174,6 +1192,11 @@ 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_SINGLE: + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, + "Index Type:", "Single Chunk"); + break; + case H5D_CHUNK_IDX_FARRAY: HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Index Type:", "Fixed Array"); |