diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-10-14 17:42:22 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-10-14 17:42:22 (GMT) |
commit | fe325096738d36828011ce02a0fc9b88ef3a660c (patch) | |
tree | 67d6617011d0e5b3f7e736f5838c4143ee2fe4f0 /src/H5HLpkg.h | |
parent | 3feb0d880d960f0da89047914cd4358f16b92144 (diff) | |
download | hdf5-fe325096738d36828011ce02a0fc9b88ef3a660c.zip hdf5-fe325096738d36828011ce02a0fc9b88ef3a660c.tar.gz hdf5-fe325096738d36828011ce02a0fc9b88ef3a660c.tar.bz2 |
[svn-r21566] Description:
Bring r21561 from trunk back to 1.8 branch:
Correct error in loading local heap prefix & data block from the file.
Sometimes the local heap's prefix could be loaded before the data block (e.g.
using H5Oget_info), but then when the data block was loaded later, the free
list information would get lost, causing the heap's size to grow larger than
necessary. This is Jira bug #HDFFV-7767
Tested on:
Mac OS X/32 10.7.2 (amazon) w/debug
(h5committest coming up)
Diffstat (limited to 'src/H5HLpkg.h')
-rw-r--r-- | src/H5HLpkg.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/H5HLpkg.h b/src/H5HLpkg.h index b7e0ece..bf9be2c 100644 --- a/src/H5HLpkg.h +++ b/src/H5HLpkg.h @@ -90,18 +90,19 @@ struct H5HL_t { size_t sizeof_size; /* Size of file sizes */ size_t sizeof_addr; /* Size of file addresses */ hbool_t single_cache_obj; /* Indicate if the heap is a single object in the cache */ + H5HL_free_t *freelist; /*the free list */ /* Prefix-specific fields */ H5HL_prfx_t *prfx; /* The prefix object for the heap */ haddr_t prfx_addr; /* address of heap prefix */ size_t prfx_size; /* size of heap prefix */ + hsize_t free_block; /* Address of first free block */ /* Data block-specific fields */ H5HL_dblk_t *dblk; /* The data block object for the heap */ haddr_t dblk_addr; /* address of data block */ size_t dblk_size; /* size of heap data block on disk and in mem */ uint8_t *dblk_image; /* The data block image */ - H5HL_free_t *freelist; /*the free list */ }; /* Struct for heap data block */ @@ -127,15 +128,12 @@ typedef struct H5HL_cache_prfx_ud_t { size_t sizeof_prfx; /* Size of heap prefix */ /* Upwards */ - hbool_t loaded; /* Whether prefix was loaded from file */ - hsize_t free_block; /* First free block in heap */ } H5HL_cache_prfx_ud_t; /* Callback information for loading local heap data block from disk */ typedef struct H5HL_cache_dblk_ud_t { /* Downwards */ H5HL_t *heap; /* Local heap */ - hsize_t free_block; /* First free block in heap */ /* Upwards */ hbool_t loaded; /* Whether data block was loaded from file */ |