Commit Graph

6964 Commits

Author SHA1 Message Date
Quincey Koziol
5b7ebc2ff9 [svn-r10184] Purpose:
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
2005-03-10 19:44:03 -05:00
Quincey Koziol
134d7ed4f0 [svn-r10183] Purpose:
Fix comment

Platforms tested:
    None, too minor...
2005-03-10 19:31:39 -05:00
Quincey Koziol
9b60f48605 [svn-r10182] Purpose:
Add comments

Description:
    Add note to investigate "deterministic skip lists", in case I forget...

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 19:20:36 -05:00
Quincey Koziol
9ed38180d7 [svn-r10181] Purpose:
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)
2005-03-10 19:19:31 -05:00
Raymond Lu
4f3d64fd3d [svn-r10180] Purpose: New way to do conversion test from floating-point to integer.
Description: This is the 3rd step of change conversion test.  This checkin is
only for conversion from floating-point to integer.

Solution:  The source buffer is filled in with normalized and denormalized
floating-point values.  For the normalized values, it starts from FLT(DBL, or
LDBL)_MIN, multiplied by 10(10000 for double, 100000000 for long double) for
the next value, until reaches to FLT_MAX.  For denormalized values, the
exponent part is always 0.  Mantissa part starts with 000...001, 000...011,
000...111, until reaches to 111...111.  The same is with negative values.

Platforms tested: h5committest and fuss.
2005-03-10 16:49:28 -05:00
James Laird
418968677b [svn-r10179] Purpose:
Automake update cleanup and minor changes

Description:
Removed macros in acsite.m4 that are no longer used.
Switched to using autoconf's AC_LANG_PUSH(Fortran) instead of old
AC_LANG_FORTRAN9X macro.
Switched to using AC_LANG_PUSH() and AC_LANG_POP() (from old AC_LANG_X).
Added ifort to list of Fortran compilers configure will look for.
Added a note about automake change to Release Notes.

Platforms tested:
copper, modi4 (parallel and serial), eirene
2005-03-10 15:52:34 -05:00
Quincey Koziol
bdbf2b7909 [svn-r10178] Purpose:
Correct formatting

Description:
    Move some typedefs out of the macro section into the typedef section

Platforms tested:
    None, too minor to require any.
2005-03-10 11:41:28 -05:00
Quincey Koziol
674243b857 [svn-r10177] Purpose:
Update comments

Description:
    Correct comment about how H5B2_create() works.

Platforms tested:
    None, just minor comment change.
2005-03-10 11:16:57 -05:00
Quincey Koziol
451e55aac0 [svn-r10176] Purpose:
New feature

Description:
    Add routine to delete entire B-tree from a file.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 11:13:58 -05:00
Quincey Koziol
966d089771 [svn-r10175] Purpose:
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
2005-03-10 09:30:51 -05:00
James Laird
6a14114253 [svn-r10174] Purpose:
Bug fix

Description:
acsite.m4 contains macros to handle fortran compiler.  Some of these macros
are obsolete with automake 1.9.5, but some of them are still used.
These macros need to refer to the fortran compiler as $FC, not $F9X.

Solution:
The version of acsite.m4 with this change didn't get checked in last time.
Oops.
Replaced all occurances of $F9X with $FC and $FFLAGS with $FCFLAGS in
acsite.m4.

Platforms tested:
copper, modi4 (serial and parallel), kelgia, eirene.
	Some errors from btree code and ph5diff.  No errors in fortran/test.
2005-03-09 15:06:47 -05:00
Quincey Koziol
e79c145d91 [svn-r10173] Purpose:
Code cleanup

Description:
    Remove some extraneous ifdef's

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor for other testing
2005-03-09 14:53:27 -05:00
Quincey Koziol
ec169e7bc2 [svn-r10172] Purpose:
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)
2005-03-09 14:39:20 -05:00
James Laird
a46b559c35 [svn-r10171] Purpose:
Bug fix

Description:
The fortran compiler is named FC.  If F9X environment variable is set,
FC should hold the value in F9X.  However, this was overwriting values
written to FC by platform-specific config scripts.
This caused copper to find the wrong fortran when building in parallel, and
may have had other symptoms on other platforms.

Solution:
Assign $F9X to $FC at the beginning of configure, before platform-specific
scripts are run.  Do this assignment only if FC is empty.

Platforms tested:
copper, modi4 (parallel and serial w/c++), verbena.
This change should only affect fortran build.
2005-03-09 13:48:23 -05:00
Leon Arber
15e0a2331e [svn-r10170] Purpose:
Bug Fixes

Description:
Fixes for several bugs, including dumping of excess output to a temporary file, fix for printing
hsize_t datatype, and the long awaited fix for intermixed output.

Solution:
Fix 1:  Overflow file
Previously, any output that a worker task made was buffered locally in memory, up to a point.  Any
output beyond the size of the buffer (used to be 10k) was discarded.  Now, the memory buffer size has been
changed to 1k and any output beyond this amount is sent a temporary file.  This way, no output is lost
and memory usage is kept under control.  The temporary file is deleted as soon as a worker task finishes
sending its contents to the manager.

Fix 2:  hsize_t printing
Printing of the hsize_t datatype used to be handled by %Hu passed to HDfprintf.  However, there is no corresponding HDvsnprintf that
is able to print hsize_t types.  These are now printed with the aid of H5_PRINTF_LL_WIDTH.

Fix 3:  Intermixed output fix
Intermixed output would occur on some machines (although I haven't seen it happen for a while) due to the unpredictability of the underlying network
and the speed at which various message would travel.  This has been fixed by having all output send to the manager
for printing.  The worker tasks no longer print the output themselves upon receipt of a token, but instead
send that data to the manager.



Platforms tested:
heping, eirene, tg-login (the only place that seems to still experience intermixed output every now and then)

Misc. update:
2005-03-09 13:38:36 -05:00
Quincey Koziol
0be2fb3aa3 [svn-r10169] Purpose:
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)
2005-03-08 16:30:21 -05:00
Quincey Koziol
7f88485025 [svn-r10168] Purpose:
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)
2005-03-08 14:56:29 -05:00
Albert Cheng
3f70d6c95e [svn-r10166] Purpose:
Updated with the removal GASS API.
2005-03-08 12:58:12 -05:00
Albert Cheng
4c11f22b79 [svn-r10165] Purpose:
Updated the help page that install directory is no longer hardset.
2005-03-08 12:57:20 -05:00
Raymond Lu
eca2e81266 [svn-r10163] Purpose: New way to do conversion test from integers to floating numbers.
Description:  This is the 2nd step of changing conversion test.  This checkin is
only for conversion from integer to floating number.  The source buffer of
integer is filled up in the same way described in the last checkin(revision
1.153).


Platforms tested: fuss, sol, and heping - copper was down.  Couldn't do
h5committest.
2005-03-08 12:10:02 -05:00
Quincey Koziol
2df8540798 [svn-r10162] Purpose:
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)
2005-03-08 11:18:58 -05:00
Xiaowen Wu
1f245394e2 [svn-r10161] Purpose:
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:
2005-03-07 22:38:03 -05:00
James Laird
e99d6a3c58 [svn-r10160] Purpose:
Forgot to run reconfigure

Description:
Forgot to run bin/reconfigure after removing my debug output from configure.in.
Shame on me!

Platforms tested:
mir
2005-03-07 15:49:16 -05:00
Quincey Koziol
4bcd59d351 [svn-r10159] Purpose:
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)
2005-03-07 15:12:57 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
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.
2005-03-07 12:57:27 -05:00
Quincey Koziol
630b2901c5 [svn-r10156] Purpose:
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)
2005-03-05 02:50:17 -05:00
Quincey Koziol
36b45feae5 [svn-r10155] Purpose:
More tests

Description:
    Add tests for removing records in the root of a level-1 B-tree and
promoting and merging leaf nodes.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-05 00:27:45 -05:00
Quincey Koziol
8d2ddf5170 [svn-r10154] Purpose:
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)
2005-03-05 00:04:13 -05:00
Quincey Koziol
9845d40eb5 [svn-r10153] Purpose:
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)
2005-03-04 23:04:54 -05:00
Quincey Koziol
009f57c1ba [svn-r10152] Purpose:
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)
2005-03-04 21:51:55 -05:00
Quincey Koziol
156505bbf9 [svn-r10151] Purpose:
New feature

Description:
    Add code to handle 2->1 node merges during record removal.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 18:49:15 -05:00
Raymond Lu
7e0e9edc44 [svn-r10150] Purpose: A new way to do conversion test
Description: This is the first step of changing conversion test.  This checkin is only for conversion
between integers.  Instead of filling source buffer with randomly generated bit pattern, this new way
uses more sensible bit patterns.  It's easier to see using "char" as source for example.  The bit patterns
will be
        00000001, 00000010, 00000100, 00001000, 00010000, 00100000, 01000000, 10000000
        00000000, 00000011, 00000111, 00001111, 00011111, 00111111, 01111111, 11111111
        11111111, 11111110, 11111100, 11111000, 11110000, 11100000, 11000000, 10000000

The main point of this way is to avoid casting and comparison between source and destination types by
compiler.  The bit patterns will cover positive maximum and minimum, negative maximum and minimum if
the source is signed integer.


Platforms tested: h5committest and fuss.
2005-03-04 18:10:49 -05:00
Quincey Koziol
c153ca4d5e [svn-r10149] Purpose:
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)
2005-03-04 17:22:34 -05:00
Quincey Koziol
831be556f4 [svn-r10148] Purpose:
New test

Description:
    Add a couple more tests for removing records before I start modifying the
code further.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-04 16:48:54 -05:00
Quincey Koziol
83cbb092ed [svn-r10147] Purpose:
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
2005-03-04 16:31:25 -05:00
Quincey Koziol
fc78e01d15 [svn-r10145] Purpose:
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
2005-03-04 16:19:28 -05:00
Quincey Koziol
afdf7fcfa6 [svn-r10144] Purpose:
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...
2005-03-04 12:01:02 -05:00
Quincey Koziol
6e74389773 [svn-r10143] Purpose:
Bug fix

Description:
    Add missing test file to clean target

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-04 11:58:40 -05:00
MuQun Yang
74339b363e [svn-r10137] Purpose:
Update windows projects
Description:
1. Add N-bit and scaleoffset filters to the project files
2. remove H5FDgass.c from HDF5 src directory
3. Add h5diff_comm.c into h5diff project

Solution:

Platforms tested:

VS 6.0 + compaq fortran 6.6c
Misc. update:
2005-03-03 20:18:04 -05:00
Albert Cheng
5c990d854e [svn-r10136] Purpose:
Bug fix.

Description:
MPI_LONG_LONG, which is not standard yet, was used to pass the
nubmer of differences found.  This was needed because number of
differences is defined as type hsize_t which can be arbitary large
such that there is no MPI type that matches it. The value is passed
between processes as an array of bytes in order to be portable.  But this
may not work in non-homogeneous MPI environments.
This fix was actually Leon's idea.

Platforms tested:
Tested in QSC in which this failed.
2005-03-03 17:29:07 -05:00
Quincey Koziol
84ffc9d1c1 [svn-r10135] Purpose:
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)
2005-03-03 16:39:57 -05:00
Robert E. McGrath
048385e1a6 [svn-r10134] Purpose:
Description:

Solution:

Platforms tested:

Misc. update:
2005-03-03 16:03:48 -05:00
Albert Cheng
b992aace96 [svn-r10133] Purpose:
Updated with 1.7.x changes of retiring GASS Virtual File Driver.
2005-03-03 15:59:54 -05:00
James Laird
965fef45d9 [svn-r10132] Purpose:
Bug fix

Description:
When C flags are passed in using $CC variable, this can confuse test
commands in configure (for instance, CC='pgcc -tp k8-32').

Solution:
Previous solution didn't entirely solve problem.  Wrote a sed snippit
to strip flags from $CC for purposes of test in configure.

Platforms tested:
mir (just a configure bug)
2005-03-03 14:39:10 -05:00
Albert Cheng
f5c24bc9a4 [svn-r10130] Purpose:
Retired GASS driver.

Platforms tested:
H5committested.
2005-03-03 13:10:16 -05:00
Albert Cheng
85917a7341 [svn-r10129] Corrected typos which should have said SRB instead of GASS.
NOt tested since there is no SRB server to test with.
2005-03-03 12:26:26 -05:00
Albert Cheng
69c9a7e3a6 [svn-r10128] Purpose:
Removed GASS from summary printout.

Platforms tested:
Tested in heping.  No h5committest since it was trivial
and involved in configure stage only.
2005-03-03 09:17:32 -05:00
Albert Cheng
f7c62b1e19 [svn-r10127] Updated with new file. 2005-03-03 08:13:14 -05:00
Albert Cheng
9d8d5392b2 [svn-r10125] Purpose:
Feature--to provide a standalone mode for t_mpi.c so that it can
be built outside of PHDF5 environment.

Description:
Move definitions that are common to all parallel test programs
to a new header file called testpar.h.
Leave only Parallel HDF5 tests related definitions in testphdf5.h.

Platforms tested:
heping (pp) and modi4(PP).  Copper was down.

Misc. update:
2005-03-02 23:06:14 -05:00
Albert Cheng
0d514907a9 [svn-r10123] Purpose:
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.
2005-03-02 15:02:55 -05:00