diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2008-09-25 23:14:43 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2008-09-25 23:14:43 (GMT) |
commit | f9f71a001ba65fbc515b440bf5cbace452947800 (patch) | |
tree | 22affd8e35a5bedb34827439b029214f58d8a851 /src/H5EApkg.h | |
parent | 6a1614de3ea33c98e8fe6d11b8ac0a590f4d445a (diff) | |
download | hdf5-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.h | 13 |
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 */ |