diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-10-14 13:28:23 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-10-14 13:28:23 (GMT) |
commit | 9fa5dca9c2ebc2c3cb25ded77d37b9c666e11fbd (patch) | |
tree | 9e1f3636dc707bf0a3ef217db98cebde4efefb5c /src/H5HLpkg.h | |
parent | 56960ac85c40c3b08989ff776d2a69c6e79a6f09 (diff) | |
download | hdf5-9fa5dca9c2ebc2c3cb25ded77d37b9c666e11fbd.zip hdf5-9fa5dca9c2ebc2c3cb25ded77d37b9c666e11fbd.tar.gz hdf5-9fa5dca9c2ebc2c3cb25ded77d37b9c666e11fbd.tar.bz2 |
[svn-r21561] Description:
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 */ |