diff options
author | Robb Matzke <matzke@llnl.gov> | 1997-08-12 22:44:46 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1997-08-12 22:44:46 (GMT) |
commit | fb947c34b142578774d5bb657c0b3e2a9b4781c7 (patch) | |
tree | c695cac8789bbe5fc92a5324e3027856bf3858bc /src/H5B.c | |
parent | 326981f421b993815657daecc8b37bd732513d82 (diff) | |
download | hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.zip hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.tar.gz hdf5-fb947c34b142578774d5bb657c0b3e2a9b4781c7.tar.bz2 |
[svn-r25] ./src/H5AC.c
We sort the cache before a complete flush because it might be
more efficient to write things back to disk in order of
increasing address. If you want the old way then undef the
SORT_BY_ADDR constant at the top of H5AC.c I haven't
determined which systems and I/O libraries this helps or
hurts. (This is currently off because of a bug I need to track
down that causes qsort() to run for a really long time).
./src/H5B.c
Fixed a couple more bugs.
./src/H5Eprivate.h
./src/H5Eproto.h
Added major H5E_DIRECTORY and minor H5E_EXISTS, H5E_COMPLEN.
./src/H5G.c
Added directory-aware functions.
The heap and B-tree are created when a directory is created
instead of when the first symbol is added. This simplifies
symbol table entry caching for the directory since the cached
value never changes now.
./src/H5Gnode.c
./src/H5Gprivate.h
Fine tuned the B-tree K values for symbol tables assuming an
average number of symbols is about 100 per directory. The
tuning minimizes storage space.
Fixed a return value in H5G_node_cmp().
./src/H5H.c
./src/H5Hprivate.h
Moved some macros the the header file.
./src/H5O.c
./src/H5Ocont.c
./src/H5Onull.c
./src/H5Ostab.c
Changed the arguments for the decode method for messages. The
second argument is the raw message size.
Added a class variable for native message size.
Added H5O_reset() to free memory used internally by a message.
./src/H5Oname.c NEW
./src/H5Oprivate.h
./src/Makefile
The object name message.
./src/hdf5port.h
Added defn for HDstrdup()
Diffstat (limited to 'src/H5B.c')
-rw-r--r-- | src/H5B.c | 9 |
1 files changed, 4 insertions, 5 deletions
@@ -113,7 +113,7 @@ #define PABLO_MASK H5B_mask -#define BOUND(MIN,X,MAX) ((MIN)<(X)?(MIN):((MAX)>(X)?(MAX):(X))) +#define BOUND(MIN,X,MAX) ((X)<(MIN)?(MIN):((X)>(MAX)?(MAX):(X))) #define false 0 #define true 1 @@ -173,7 +173,6 @@ H5B_new (hdf5_file_t *f, const H5B_class_t *type) */ assert (f); assert (type); - assert (sizeof_rkey>0); /* * Allocate file and memory data structures. @@ -608,7 +607,7 @@ H5B_split (hdf5_file_t *f, const H5B_class_t *type, haddr_t addr, intn anchor) */ memcpy (bt->page + H5B_SIZEOF_HDR(f), old->page + H5B_SIZEOF_HDR(f) + delta*recsize, - type->k * recsize); + type->k * recsize + bt->sizeof_rkey); memcpy (bt->native, old->native + delta * type->sizeof_nkey, (type->k+1) * type->sizeof_nkey); @@ -626,7 +625,7 @@ H5B_split (hdf5_file_t *f, const H5B_class_t *type, haddr_t addr, intn anchor) } } else { bt->key[i].dirty = 0; - bt->key[i].rkey = bt->native + offset; + bt->key[i].rkey = bt->page + offset; bt->key[i].nkey = NULL; } @@ -642,7 +641,7 @@ H5B_split (hdf5_file_t *f, const H5B_class_t *type, haddr_t addr, intn anchor) /* * Truncate the old node. */ - delta = H5B_ANCHOR_LT ? 0 : type->k; + delta = H5B_ANCHOR_LT==anchor ? 0 : type->k; old->dirty += 1; old->ndirty = BOUND (0, old->ndirty-delta, type->k); old->nchildren = type->k; |