summaryrefslogtreecommitdiffstats
path: root/src/H5EApkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-09-25 23:14:43 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-09-25 23:14:43 (GMT)
commitf9f71a001ba65fbc515b440bf5cbace452947800 (patch)
tree22affd8e35a5bedb34827439b029214f58d8a851 /src/H5EApkg.h
parent6a1614de3ea33c98e8fe6d11b8ac0a590f4d445a (diff)
downloadhdf5-f9f71a001ba65fbc515b440bf5cbace452947800.zip
hdf5-f9f71a001ba65fbc515b440bf5cbace452947800.tar.gz
hdf5-f9f71a001ba65fbc515b440bf5cbace452947800.tar.bz2
[svn-r15703] Description:
Further progress on extensible array implementation - add support for more data blocks from index block. Tested on: Mac OS X/32 10.5.4 (amazon) in debug mode Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5EApkg.h')
-rw-r--r--src/H5EApkg.h13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/H5EApkg.h b/src/H5EApkg.h
index 72264cd..ca920ec 100644
--- a/src/H5EApkg.h
+++ b/src/H5EApkg.h
@@ -386,7 +386,7 @@ func_init_failed: \
H5EA_METADATA_PREFIX_SIZE(TRUE) \
\
/* Extensible Array Index Block specific fields */ \
- + ((size_t)(i)->hdr->idx_blk_elmts * (size_t)(i)->hdr->raw_elmt_size) /* Elements in index block */ \
+ + ((size_t)(i)->hdr->cparam.idx_blk_elmts * (size_t)(i)->hdr->cparam.raw_elmt_size) /* Elements in index block */ \
+ ((i)->ndblk_addrs * (i)->hdr->sizeof_addr) /* Data block addresses in index block */ \
+ ((i)->nsblk_addrs * (i)->hdr->sizeof_addr) /* Super block addresses in index block */ \
)
@@ -397,7 +397,7 @@ func_init_failed: \
H5EA_METADATA_PREFIX_SIZE(TRUE) \
\
/* Extensible Array Data Block specific fields */ \
- + ((d)->nelmts * (size_t)(d)->hdr->raw_elmt_size) /* Elements in index block */ \
+ + ((d)->nelmts * (size_t)(d)->hdr->cparam.raw_elmt_size) /* Elements in index block */ \
)
@@ -422,11 +422,7 @@ typedef struct H5EA_hdr_t {
H5AC_info_t cache_info;
/* Extensible array configuration/creation parameters (stored) */
- uint8_t raw_elmt_size; /* Element size in file (in bytes) */
- uint8_t max_nelmts_bits; /* Log2(Max. # of elements in array) - i.e. # of bits needed to store max. # of elements */
- uint8_t idx_blk_elmts; /* # of elements to store in index block */
- uint8_t data_blk_min_elmts; /* Min. # of elements per data block */
- uint8_t sup_blk_min_data_ptrs; /* Min. # of data block pointers for a super block */
+ H5EA_create_t cparam; /* Creation parameters for extensible array */
/* Index block information (stored in header) */
haddr_t idx_blk_addr; /* Address of index block in header */
@@ -453,9 +449,6 @@ typedef struct H5EA_hdr_t {
/* Super block information (not stored) */
size_t nsblks; /* Number of superblocks needed for array */
H5EA_sblk_info_t *sblk_info; /* Array of information for each super block */
-
- /* Memory data structures (not stored directly) */
- const H5EA_class_t *cls; /* Pointer to class for array */
} H5EA_hdr_t;
/* The extensible array index block information */