HDF5  1.12.0
Data Structures | Macros | Typedefs | Functions | Variables
H5Dchunk.c File Reference
#include "H5Dmodule.h"
#include "H5private.h"
#include "H5CXprivate.h"
#include "H5Dpkg.h"
#include "H5Eprivate.h"
#include "H5Fprivate.h"
#include "H5FLprivate.h"
#include "H5Iprivate.h"
#include "H5MMprivate.h"
#include "H5MFprivate.h"
#include "H5VMprivate.h"

Data Structures

struct  H5D_rdcc_ent_t
 
struct  H5D_chunk_it_ud1_t
 
struct  H5D_chunk_it_ud2_t
 
struct  H5D_chunk_it_ud3_t
 
struct  H5D_chunk_it_ud4_t
 
struct  H5D_chunk_it_ud5_t
 
struct  H5D_chunk_readvv_ud_t
 
struct  H5D_chunk_info_iter_ud_t
 
struct  H5D_chunk_file_iter_ud_t
 

Macros

#define H5D_CHUNK_GET_FIRST_NODE(map)   (map->use_single ? (H5SL_node_t *)(1) : H5SL_first(map->sel_chunks))
 
#define H5D_CHUNK_GET_NODE_INFO(map, node)   (map->use_single ? map->single_chunk_info : (H5D_chunk_info_t *)H5SL_item(node))
 
#define H5D_CHUNK_GET_NEXT_NODE(map, node)   (map->use_single ? (H5SL_node_t *)NULL : H5SL_next(node))
 
#define H5D_CHUNK_STORAGE_INDEX_CHK(storage)
 
#define H5D_RDCC_DISABLE_FILTERS   0x01u /* Disable filters on this chunk */
 
#define H5D_RDCC_NEWLY_DISABLED_FILTERS
 

Typedefs

typedef struct H5D_rdcc_ent_t H5D_rdcc_ent_t
 
typedef H5D_rdcc_ent_tH5D_rdcc_ent_ptr_t
 
typedef struct H5D_chunk_it_ud1_t H5D_chunk_it_ud1_t
 
typedef struct H5D_chunk_it_ud2_t H5D_chunk_it_ud2_t
 
typedef struct H5D_chunk_it_ud3_t H5D_chunk_it_ud3_t
 
typedef struct H5D_chunk_it_ud4_t H5D_chunk_it_ud4_t
 
typedef struct H5D_chunk_it_ud5_t H5D_chunk_it_ud5_t
 
typedef struct H5D_chunk_readvv_ud_t H5D_chunk_readvv_ud_t
 
typedef struct H5D_chunk_info_iter_ud_t H5D_chunk_info_iter_ud_t
 
typedef struct H5D_chunk_file_iter_ud_t H5D_chunk_file_iter_ud_t
 

Functions

 H5FL_SEQ_DEFINE_STATIC (H5D_rdcc_ent_ptr_t)
 
 H5FL_DEFINE_STATIC (H5D_rdcc_ent_t)
 
 H5FL_DEFINE (H5D_chunk_info_t)
 
 H5FL_BLK_DEFINE_STATIC (chunk)
 
 H5FL_EXTERN (H5S_sel_iter_t)
 
herr_t H5D__chunk_direct_write (const H5D_t *dset, uint32_t filters, hsize_t *offset, uint32_t data_size, const void *buf)
 
herr_t H5D__chunk_direct_read (const H5D_t *dset, hsize_t *offset, uint32_t *filters, void *buf)
 
herr_t H5D__get_chunk_storage_size (H5D_t *dset, const hsize_t *offset, hsize_t *storage_size)
 
herr_t H5D__chunk_set_info (const H5D_t *dset)
 
herr_t H5D__chunk_set_sizes (H5D_t *dset)
 
hbool_t H5D__chunk_is_space_alloc (const H5O_storage_t *storage)
 
hbool_t H5D__chunk_is_data_cached (const H5D_shared_t *shared_dset)
 
htri_t H5D__chunk_cacheable (const H5D_io_info_t *io_info, haddr_t caddr, hbool_t write_op)
 
herr_t H5D_chunk_idx_reset (H5O_storage_chunk_t *storage, hbool_t reset_addr)
 
herr_t H5D__chunk_create (const H5D_t *dset)
 
herr_t H5D__chunk_lookup (const H5D_t *dset, const hsize_t *scaled, H5D_chunk_ud_t *udata)
 
herr_t H5D__chunk_allocated (const H5D_t *dset, hsize_t *nbytes)
 
herr_t H5D__chunk_allocate (const H5D_io_info_t *io_info, hbool_t full_overwrite, hsize_t old_dim[])
 
herr_t H5D__chunk_update_old_edge_chunks (H5D_t *dset, hsize_t old_dim[])
 
herr_t H5D__chunk_prune_by_extent (H5D_t *dset, const hsize_t *old_dim)
 
herr_t H5D__chunk_delete (H5F_t *f, H5O_t *oh, H5O_storage_t *storage)
 
herr_t H5D__chunk_update_cache (H5D_t *dset)
 
herr_t H5D__chunk_copy (H5F_t *f_src, H5O_storage_chunk_t *storage_src, H5O_layout_chunk_t *layout_src, H5F_t *f_dst, H5O_storage_chunk_t *storage_dst, const H5S_extent_t *ds_extent_src, const H5T_t *dt_src, const H5O_pline_t *pline_src, H5O_copy_t *cpy_info)
 
herr_t H5D__chunk_bh_info (const H5O_loc_t *loc, H5O_t *oh, H5O_layout_t *layout, hsize_t *index_size)
 
herr_t H5D__chunk_dump_index (H5D_t *dset, FILE *stream)
 
herr_t H5D__chunk_file_alloc (const H5D_chk_idx_info_t *idx_info, const H5F_block_t *old_chunk, H5F_block_t *new_chunk, hbool_t *need_insert, const hsize_t *scaled)
 
herr_t H5D__chunk_format_convert (H5D_t *dset, H5D_chk_idx_info_t *idx_info, H5D_chk_idx_info_t *new_idx_info)
 
herr_t H5D__get_num_chunks (const H5D_t *dset, const H5S_t H5_ATTR_UNUSED *space, hsize_t *nchunks)
 
herr_t H5D__get_chunk_info (const H5D_t *dset, const H5S_t H5_ATTR_UNUSED *space, hsize_t chk_index, hsize_t *offset, unsigned *filter_mask, haddr_t *addr, hsize_t *size)
 
herr_t H5D__get_chunk_info_by_coord (const H5D_t *dset, const hsize_t *offset, unsigned *filter_mask, haddr_t *addr, hsize_t *size)
 

Variables

const H5D_layout_ops_t H5D_LOPS_CHUNK [1]
 
const H5D_layout_ops_t H5D_LOPS_NONEXISTENT [1]
 

Macro Definition Documentation

◆ H5D_CHUNK_GET_FIRST_NODE

#define H5D_CHUNK_GET_FIRST_NODE (   map)    (map->use_single ? (H5SL_node_t *)(1) : H5SL_first(map->sel_chunks))

◆ H5D_CHUNK_GET_NEXT_NODE

#define H5D_CHUNK_GET_NEXT_NODE (   map,
  node 
)    (map->use_single ? (H5SL_node_t *)NULL : H5SL_next(node))

◆ H5D_CHUNK_GET_NODE_INFO

#define H5D_CHUNK_GET_NODE_INFO (   map,
  node 
)    (map->use_single ? map->single_chunk_info : (H5D_chunk_info_t *)H5SL_item(node))

◆ H5D_CHUNK_STORAGE_INDEX_CHK

#define H5D_CHUNK_STORAGE_INDEX_CHK (   storage)
Value:
HDassert((H5D_CHUNK_IDX_EARRAY == (storage)->idx_type && H5D_COPS_EARRAY == (storage)->ops) || \
(H5D_CHUNK_IDX_FARRAY == (storage)->idx_type && H5D_COPS_FARRAY == (storage)->ops) || \
(H5D_CHUNK_IDX_BT2 == (storage)->idx_type && H5D_COPS_BT2 == (storage)->ops) || \
(H5D_CHUNK_IDX_BTREE == (storage)->idx_type && H5D_COPS_BTREE == (storage)->ops) || \
(H5D_CHUNK_IDX_SINGLE == (storage)->idx_type && H5D_COPS_SINGLE == (storage)->ops) || \
(H5D_CHUNK_IDX_NONE == (storage)->idx_type && H5D_COPS_NONE == (storage)->ops));

◆ H5D_RDCC_DISABLE_FILTERS

#define H5D_RDCC_DISABLE_FILTERS   0x01u /* Disable filters on this chunk */

◆ H5D_RDCC_NEWLY_DISABLED_FILTERS

#define H5D_RDCC_NEWLY_DISABLED_FILTERS
Value:
0x02u /* Filters have been disabled since
* the last flush */

Typedef Documentation

◆ H5D_chunk_file_iter_ud_t

◆ H5D_chunk_info_iter_ud_t

◆ H5D_chunk_it_ud1_t

◆ H5D_chunk_it_ud2_t

◆ H5D_chunk_it_ud3_t

◆ H5D_chunk_it_ud4_t

◆ H5D_chunk_it_ud5_t

◆ H5D_chunk_readvv_ud_t

◆ H5D_rdcc_ent_ptr_t

◆ H5D_rdcc_ent_t

Function Documentation

◆ H5D__chunk_allocate()

herr_t H5D__chunk_allocate ( const H5D_io_info_t io_info,
hbool_t  full_overwrite,
hsize_t  old_dim[] 
)

◆ H5D__chunk_allocated()

herr_t H5D__chunk_allocated ( const H5D_t dset,
hsize_t nbytes 
)

◆ H5D__chunk_bh_info()

herr_t H5D__chunk_bh_info ( const H5O_loc_t loc,
H5O_t oh,
H5O_layout_t layout,
hsize_t index_size 
)

◆ H5D__chunk_cacheable()

htri_t H5D__chunk_cacheable ( const H5D_io_info_t io_info,
haddr_t  caddr,
hbool_t  write_op 
)

◆ H5D__chunk_copy()

herr_t H5D__chunk_copy ( H5F_t f_src,
H5O_storage_chunk_t storage_src,
H5O_layout_chunk_t layout_src,
H5F_t f_dst,
H5O_storage_chunk_t storage_dst,
const H5S_extent_t ds_extent_src,
const H5T_t dt_src,
const H5O_pline_t pline_src,
H5O_copy_t cpy_info 
)

◆ H5D__chunk_create()

herr_t H5D__chunk_create ( const H5D_t dset)

◆ H5D__chunk_delete()

herr_t H5D__chunk_delete ( H5F_t f,
H5O_t oh,
H5O_storage_t storage 
)

◆ H5D__chunk_direct_read()

herr_t H5D__chunk_direct_read ( const H5D_t dset,
hsize_t offset,
uint32_t filters,
void *  buf 
)

◆ H5D__chunk_direct_write()

herr_t H5D__chunk_direct_write ( const H5D_t dset,
uint32_t  filters,
hsize_t offset,
uint32_t  data_size,
const void *  buf 
)

◆ H5D__chunk_dump_index()

herr_t H5D__chunk_dump_index ( H5D_t dset,
FILE stream 
)

◆ H5D__chunk_file_alloc()

herr_t H5D__chunk_file_alloc ( const H5D_chk_idx_info_t idx_info,
const H5F_block_t old_chunk,
H5F_block_t new_chunk,
hbool_t need_insert,
const hsize_t scaled 
)

◆ H5D__chunk_format_convert()

herr_t H5D__chunk_format_convert ( H5D_t dset,
H5D_chk_idx_info_t idx_info,
H5D_chk_idx_info_t new_idx_info 
)

◆ H5D__chunk_is_data_cached()

hbool_t H5D__chunk_is_data_cached ( const H5D_shared_t shared_dset)

◆ H5D__chunk_is_space_alloc()

hbool_t H5D__chunk_is_space_alloc ( const H5O_storage_t storage)

◆ H5D__chunk_lookup()

herr_t H5D__chunk_lookup ( const H5D_t dset,
const hsize_t scaled,
H5D_chunk_ud_t udata 
)

◆ H5D__chunk_prune_by_extent()

herr_t H5D__chunk_prune_by_extent ( H5D_t dset,
const hsize_t old_dim 
)

◆ H5D__chunk_set_info()

herr_t H5D__chunk_set_info ( const H5D_t dset)

◆ H5D__chunk_set_sizes()

herr_t H5D__chunk_set_sizes ( H5D_t dset)

◆ H5D__chunk_update_cache()

herr_t H5D__chunk_update_cache ( H5D_t dset)

◆ H5D__chunk_update_old_edge_chunks()

herr_t H5D__chunk_update_old_edge_chunks ( H5D_t dset,
hsize_t  old_dim[] 
)

◆ H5D__get_chunk_info()

herr_t H5D__get_chunk_info ( const H5D_t dset,
const H5S_t H5_ATTR_UNUSED space,
hsize_t  chk_index,
hsize_t offset,
unsigned filter_mask,
haddr_t addr,
hsize_t size 
)

◆ H5D__get_chunk_info_by_coord()

herr_t H5D__get_chunk_info_by_coord ( const H5D_t dset,
const hsize_t offset,
unsigned filter_mask,
haddr_t addr,
hsize_t size 
)

◆ H5D__get_chunk_storage_size()

herr_t H5D__get_chunk_storage_size ( H5D_t dset,
const hsize_t offset,
hsize_t storage_size 
)

◆ H5D__get_num_chunks()

herr_t H5D__get_num_chunks ( const H5D_t dset,
const H5S_t H5_ATTR_UNUSED space,
hsize_t nchunks 
)

◆ H5D_chunk_idx_reset()

herr_t H5D_chunk_idx_reset ( H5O_storage_chunk_t storage,
hbool_t  reset_addr 
)

◆ H5FL_BLK_DEFINE_STATIC()

H5FL_BLK_DEFINE_STATIC ( chunk  )

◆ H5FL_DEFINE()

H5FL_DEFINE ( H5D_chunk_info_t  )

◆ H5FL_DEFINE_STATIC()

H5FL_DEFINE_STATIC ( H5D_rdcc_ent_t  )

◆ H5FL_EXTERN()

H5FL_EXTERN ( H5S_sel_iter_t  )

◆ H5FL_SEQ_DEFINE_STATIC()

H5FL_SEQ_DEFINE_STATIC ( H5D_rdcc_ent_ptr_t  )

Variable Documentation

◆ H5D_LOPS_CHUNK

const H5D_layout_ops_t H5D_LOPS_CHUNK[1]
Initial value:
= {{
H5D__chunk_construct,
H5D__chunk_init,
H5D__chunk_io_init,
H5D__chunk_read,
H5D__chunk_write,
NULL,
NULL,
H5D__chunk_flush,
H5D__chunk_io_term,
H5D__chunk_dest
}}

◆ H5D_LOPS_NONEXISTENT

const H5D_layout_ops_t H5D_LOPS_NONEXISTENT[1]
Initial value:
= {{
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
H5D__nonexistent_readvv,
NULL,
NULL,
NULL,
NULL
}}
u
hsize_t u
Definition: H5EA.c:1007
H5D_CHUNK_IDX_FARRAY
@ H5D_CHUNK_IDX_FARRAY
Definition: H5Dpublic.h:58
H5D_CHUNK_IDX_BTREE
@ H5D_CHUNK_IDX_BTREE
Definition: H5Dpublic.h:55
H5D_CHUNK_IDX_BT2
@ H5D_CHUNK_IDX_BT2
Definition: H5Dpublic.h:60
HDassert
#define HDassert(X)
Definition: H5private.h:669
H5D_COPS_EARRAY
const H5D_chunk_ops_t H5D_COPS_EARRAY[1]
Definition: H5Dearray.c:152
H5D_CHUNK_IDX_SINGLE
@ H5D_CHUNK_IDX_SINGLE
Definition: H5Dpublic.h:56
H5D__chunk_is_data_cached
hbool_t H5D__chunk_is_data_cached(const H5D_shared_t *shared_dset)
Definition: H5Dchunk.c:1074
H5D_COPS_FARRAY
const H5D_chunk_ops_t H5D_COPS_FARRAY[1]
Definition: H5Dfarray.c:148
H5D_COPS_NONE
const H5D_chunk_ops_t H5D_COPS_NONE[1]
Definition: H5Dnone.c:82
H5D_COPS_BT2
const H5D_chunk_ops_t H5D_COPS_BT2[1]
Definition: H5Dbtree2.c:148
H5D__chunk_is_space_alloc
hbool_t H5D__chunk_is_space_alloc(const H5O_storage_t *storage)
Definition: H5Dchunk.c:1043
H5D_COPS_BTREE
const H5D_chunk_ops_t H5D_COPS_BTREE[1]
Definition: H5Dbtree.c:153
H5D_COPS_SINGLE
H5_DLLVAR const H5D_chunk_ops_t H5D_COPS_SINGLE[1]
Definition: H5Dpkg.h:534
H5D_CHUNK_IDX_NONE
@ H5D_CHUNK_IDX_NONE
Definition: H5Dpublic.h:57
H5D_CHUNK_IDX_EARRAY
@ H5D_CHUNK_IDX_EARRAY
Definition: H5Dpublic.h:59