| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Add basic code to insert blocks into block tracker.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature & bug fix
Description:
Allow NULL 'op' for find operations to easily query the existance of a
record for a key during H5B2_find() operations.
Fix H5B2_neighbor() to work properly with empty B-tree
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Add new "block tracker" data structure to library, for tracking blocks of
bytes in a file. Block trackers will be used to keep track of the blocks
belonging to the soon-to-be-implemented "segmented heap" which is designed to
replace the current local & global heaps (starting with the local heap).
Block trackers will also keep track of the free space in the segmented heap
and someday could be used to track the free space in the entire HDF5 file.
They are implemented as a small header of information to cache the state
of the blocks (max & min sizes of blocks tracked, etc.) and the records of
the blocks themselves are stored in a v2 B-tree.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
h5committest
|
|
|
|
|
|
|
| |
Fix comment
Platforms tested:
None, too minor...
|
|
|
|
|
|
|
|
|
|
|
| |
Add comments
Description:
Add note to investigate "deterministic skip lists", in case I forget...
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Make more of the loops over the types of memory use the existing macros.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
| |
Correct formatting
Description:
Move some typedefs out of the macro section into the typedef section
Platforms tested:
None, too minor to require any.
|
|
|
|
|
|
|
|
|
|
| |
Update comments
Description:
Correct comment about how H5B2_create() works.
Platforms tested:
None, just minor comment change.
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Add routine to delete entire B-tree from a file.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up a few warnings flagged by the Intel C compiler.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/Intel C
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & New feature
Description:
Correct some situations where a write lock on the data in the metadata
cache was requested, but only a read lock is necessary.
Add routine to find nearest neighbor record < or > to a query key.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Correct minor array bounds read error of 0 bytes that purify found.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new tests
Description:
Fix another couple of issues with record removal and add some more tests to
make certain removals work correctly.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new tests
Description:
Fix several errors in record removel routines, which should now be feature
complete for removing records at any location in the B-tree (further testing
will verify this)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
The nbit filter does not support situations where datatype of string,
time, enum, variable-length, bitfield, opaque, reference is a field of
a compound datatype or array datatype.
Solution:
Modify the nbit filter to hanle such situations. The filter is a no-op
to these dataytypes.
Platforms tested:
copper, heping.
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Corrected errors in record removal code to handle removing records in
higher nodes in the B-tree.
Platforms tested:
FreebSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new feature
Description:
Allow B-tree's height to be reduced when removing records.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix/new feature
Description:
Tweak the record promotion algorithm to get it working correctly when
promoting and redistributing records.
Added tests for that case.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Allow records in internal nodes to be removed, not just records in leaf
nodes.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new feature
Description:
Fix error in 3-node redistribution when nodes are only moving into the
middle node from the left & right nodes (which happens sometimes during
record removals).
Clean up internal insert & remove routines to remove lots of redundant
checking.
Added 3->2 node merge routine to handle more record removal cases.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Solaris 2.11 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Add code to handle 2->1 node merges during record removal.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new feature
Description:
Fix a couple of off-by-one errors in assertions (code was actually correct)
for 3 node redistributions.
Remove "old" node removal code that is unused now.
Add more tests that verify that 2-node and 3-node redistributions are
working correctly for removals.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Filter callback routines were being called with memory "version" of disk
datatype (don't ask... :-), which could result in incorrect calculations in
the filter callbacks.
Solution:
Rearrange code to call the filter callbacks after the final disk "version"
of the disk datatype has been created.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Add some "safety net" sort of assertions and sanity checks contributed by
user.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
The GASS VFL driver header file was bringing in the <string.h> header file,
which several other source code modules needed also, but weren't including
explicitly themselves.
Solution:
Add includes for <string.h> to files which actually need them.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/C++ as CC
Configuration not tested by h5committest...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new feature
Description:
Fix problem with inserting existing keys into B-tree corrupting record
counts along the path to the failed insertion.
Add more support for removing records, it's now handling removing records
from leaves of level-1 B-trees.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
| |
Retired GASS driver.
Platforms tested:
H5committested.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed GASS configuration and software packages associated with
it. The following software are no longer configurable.
checking for main in -lcrypto... yes
checking for SSL_get_version in -lssl... yes
checking globus_common.h usability... yes
checking globus_common.h presence... yes
checking for globus_common.h... yes
checking for globus_module_activate in -lglobus_common... yes
checking for main in -lglobus_gass_cache... yes
checking for main in -lglobus_gaa... yes
checking for main in -lglobus_gss... yes
checking for main in -lglobus_gss_assist... yes
checking for main in -lglobus_io... yes
checking for main in -lglobus_gass_transfer_assist... yes
checking for main in -lglobus_gass_transfer... yes
checking for globus_gass_open in -lglobus_gass_file... yes
Platforms tested:
h5committested (but copper was down.) tested in modi4 too.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
"testphdf -p" would with data verification errors. The reasons were
that the MPIPOSIX driver file open and close, especially the close
routine provide no "coordination" between processes. The testphdf5
tests reuse the same file for test data file by opening using H5Fcreate
with the HDF5_FCC_TRUNC option. The test routines do not provide any
code to ensure that all processes have finished one test before moving
to the next test. Some "faster" process would have finished verifying
its portion of data as correct and move to the next test which opens
the same file with TRUNCATOIN which truncates the previous data file.
But some "slower" processes are still verifying the "previous" data
file which all of a sudden got truncated by the "faster" process.
Solution:
Technically, the test program should be fixed to ensure all processes
have finished one test before any is allowed to move to the next test.
OTOH, the MPIO VFD has no problem with this test because MPI-IO requires
File open and close be called collectively correct and ensure it is
returned properly.
I choose to fix the MPIPOSIX close routine to provide some sort of
coordination between processes by requiring all processes to have
completed the close of a file before it is returned to user space.
This makes the MPIPOSIX close routine behaves more like the MPIO
close routine, thus provide more protection for user applications
that fail to code in the coordination. But having the barrier
in the MPIPOSIX close routine would penalize applications where
it is "okay" for some processes to close its file handle and race
ahead to do other things since it is not going to access this file,
therefore whether other processes are still using the file is immaterial.
Maybe this protective coordination should be optional and can be turned
off by confident users who need not this sort of protection.
Platforms tested:
"h5committested" and tested in modi4 and tesla.
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Condition check of macro H5_ULLONG_TO_FP_CAST_WORKS was accidentally
taken out in last revision. This macro is defined for Windows because Windows
doesn't support conversion from "unsigned long long" to any floating-point type.
Solution: Added it back to H5T_conv_ullong_xxx() functions(xxx is any of "float",
"double", or "long double").
Platforms tested: tested on Windows.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
The nbit filter does not check error when calling some utility functions
that can return a failure.
Solution:
Add error handling for these utility functions.
Platforms tested:
heping, copper
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modifications of nbit filter.
Description:
The nbit filter does not support datatypes other than integer,
floating-point as well as array datatype and compound datatype consisting
of integer or floating-point.
Solution:
Change the nbit filter to accept all datatype at the top level, and if
the datatype is not what described above, the filter will not do anything
to the data instead of generating errors.
Slight improvements of the filter's performance.
Platforms tested:
heping, copper
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New features & refactor
Description:
Add basic record removal (only handles level-0 B-trees currently)
Add query routine to check the number of records in a B-tree
Add debugging routine to check the address of the root node in the B-tree
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Somehow, the hardware conversions between "long double" and other native floating-point
types were left out.
Solution: Added the hardware conversion functions in H5Tconv.c and test cases in dtypes.c.
Platforms tested: h5committest and fuss.
Misc. update: updated MANIFEST to replace bin/reconfigure.sh with bin/reconfigure
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: The library didn't handle incorrect hardware conversion for datatype. It simply did
convert to incorrect data if any hardware didn't handle correctly.
Solution: During configuration, incorrect hardware conversion is detected and some macros are
defined. Use these macros to decide whether to register hardware conversion in H5T.c. If no hardware
conversion function is registered for certain pair of datatypes, software conversion function will
be used as the conversion path. Although slower than hardware conversion, we're more confident
software conversion is accurate.
So in one sentence to describe library's behavior, if some hardware conversion doesn't work well,
software conversion will be used instead.
Platforms tested: h5committest and fuss.
Misc. update: some changes to configure's comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & new feature
Description:
Fix errors in tracking the total number of records "below" a node.
Add feature to find the n'th record in a B-tree
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature, refactor code
Description:
Add call to search for a record in a B-tree by key value
Refactored some of the existing callbacks to simplify them.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fixes
Description:
Fix several bugs in B-tree insertion code, which now appears to be fully
functional. (Tested to 1,280,000 records at least...)
Add random record insertion test to shake out boundary conditions, etc.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
Description: On some Cray, the size of "short" is 8 byte but only the low-order 4 byte
are over used(precision is 4 byte). The "perm" in struct "detect_t" contains "-1" for
bytes that aren't used, making detection of order invalid in function print_results().
Solution: Use a "for" loop to search through "perm" find the first non "-1" element,
and use it to decide the byte order of the machine.
Platforms tested: fuss - already tested for v1.6
|
|
|
|
|
|
|
|
|
|
| |
Libtool upgrade
Description:
HDF5 was using libtool 1.4.2. Upgraded to libtool 1.5.14.
Platforms tested:
verbena, heping, pommier, copper, modi4, arabica
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Allow internal nodes to perform 3->4 splits. Inserting records should now
be feature complete.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Allow 3 node redistributions to work on internal nodes.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Allow internal nodes in v2 B-tree to undergo 2->3 splits
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Allow internal nodes in v2 B-tree to perform 2 node redistribution
Platforms tested:
FreeBSD 4.11 (sleipnir)
Solaris 2.9 (shanti)
|
|
|
|
|
|
|
|
|
|
|
| |
New test
Description:
Add more regression tests for redistributing leafs in a level-2 B-tree
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Source code for the scaleoffset internal filter. For debugging purpose.
Solution:
Platforms tested:
heping, copper, arabica
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Add the scaleoffset internal library filter.
Solution:
Platforms tested:
heping, copper, arabica
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature.
Description:
Add H5Zset_scaleoffset function for setting up the scaleoffset filter.
Solution:
Platforms tested:
heping, copper, arabica
Misc. update:
|