Commit Graph

165 Commits

Author SHA1 Message Date
Quincey Koziol
f49a8d1afc [svn-r12631] Description:
Refactor the file storage of "twig" nodes in the B-tree to allow them to
store more records, increasing the average density of the B-tree 30-40%.

    Increase # of records in "insert lots" regression test to still create
B-tree of depth 4

    Update h5debug to interpret difference of 'branch' and 'twig' internal
nodes in B-tree correctly.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-26 02:26:07 -05:00
James Laird
9d4229713e [svn-r12608] Checked in External Link C examples.
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.

Tested on Windows, mir, juniper
2006-08-22 11:22:43 -05:00
Quincey Koziol
49d1901fdd [svn-r12592] Description:
Several changes, all mooshed together:
        - Add support for "tiny" objects - which can be stored in the heap
            ID itself, instead of in the heap data blocks.
        - Flesh out support for compressed direct blocks, but comment it
            out until John's got some metadata cache changes in place to
            support it.
        - Add support for applying I/O pipeline filters to 'huge' objects
        - Refactor 'huge' object code to store information for 'huge' objects
            directly in the heap ID, when there are I/O pipeline filters
            applied to the heap (and the heap ID is large enough to hold the
            information)
        - Update h5debug tool to correctly handle 'huge' & 'tiny' objects.
        - Misc. other code cleanups, etc.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-17 10:59:14 -05:00
James Laird
e5bc52d890 [svn-r12584] Mentioned VFD in test output to make it easier to tell which VFD is being used
when a test is run.

Running reconfigure also regenerated error header files (because someone edited
them manually?).
2006-08-17 09:18:03 -05:00
Elena Pourmal
a0591aaf96 [svn-r12581] Description:
Bug fix and maintenance
  Checked in James fix and did more code refactoring.

Platforms tested: heping, copper and shanti (and X1 for the bug fix)
2006-08-16 17:45:56 -05:00
Elena Pourmal
9ec01d6222 [svn-r12569] Description: Maintenance
Refactored code in the main function to improve future maintenance and code readability.

Platforms tested:

 heping, shanti (64-bit)
2006-08-12 13:40:22 -05:00
James Laird
3e755623cb [svn-r12528] Added User-Defined links to the library.
Users can create external links using H5L_create_external().  These links
point to an object in another HDF5 file.  Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.

Added tests, tools support, etc.

Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).

Additional documentation and examples are forthcoming.
2006-08-02 18:41:53 -05:00
Quincey Koziol
c951c27830 [svn-r12525] Description:
Refactored free space manager to use metadata cache for serialized free
space sections.  This speeds up the fractal heap test considerably...

Tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4/32 (chicago)
    Linux 2.4/64 (mir)
    Mac OS X (amazon)
2006-08-02 11:44:44 -05:00
James Laird
beb04ae817 [svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL).  Tests that fail will be skipped.

This is not a perfect fix, but is better than nothing.

Along with this change, check-vfd should be added to the Daily Tests.
2006-07-31 14:46:16 -05:00
MuQun Yang
a23147fff2 [svn-r12467] Rename h5stat output file to avoid lower/upper-case filename clash on Windows 2006-07-14 15:23:43 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
James Laird
64b5d95251 [svn-r12431] Purpose:
Configuration feature

Description:
'make install' now tests both static and shared libraries if both are installed.

Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.

Platforms tested:
mir (Makefile change only)
2006-06-21 18:15:08 -05:00
Elena Pourmal
26e2b6fefb [svn-r12419] Purpose: Maintenance/new feature
Description: Added new tests for the h5stat tool; added --version flag
             to display library version information and updated expected
             output files.

Solution:

Platforms tested: heping, shanti

Misc. update:
2006-06-18 12:43:02 -05:00
Elena Pourmal
09aa1fa82c [svn-r12418] Purpose: Maintenance/new feature
Description: Added new tests for the h5stat tool; added --version flag
             to the h5stat tool to display library version information

Solution:

Platforms tested: heping, shanti

Misc. update:
2006-06-18 12:41:58 -05:00
Elena Pourmal
b7beca9770 [svn-r12416] Purpose: Maintenance
Description: Added test script and two test files in the tools/misc/testfiles
             directory for testing h5stat tool; modified Makefile.am in tools/misc
             and configure.in files to run the new test script; reran bin/recofigure
             to update relevant configuration files; updated MANIFEST

Solution:

Platforms tested: heping with in place and srcdir builds; will do more testing
                  after the checkin.

Misc. update:
2006-06-17 13:16:05 -05:00
James Laird
a31e264f89 [svn-r12411] Purpose:
Bug fix - bugzilla #552

Description:
On Cray X1, trying to use : as an argument confused the system.

Solution:
Added a test in configure to see if : as an argument is bad.
If so, skipped the test.

Platforms tested:
mir, Cray X1 (change to configure only)
2006-06-13 16:21:14 -05:00
Elena Pourmal
f5a16e9bfa [svn-r12402] Purpose: New features
Description: I am checking in changes for the h5stat tool:
               - updated Makefile.am to use tools library
               - regenerated Makefile.in
               - added command flags to display selected information
               - added support for external files and filters
               - small output formatting changes

             For more information about current features and output see
             updated h5stat RFC http://hdf.ncsa.uiuc.edu/RFC/h5stat/h5stat-spec.pdf

Solution:

Platforms tested: mir, heping, shanti, copper 64-bit, copper 32-bit parallel
                  using files from tools/testfiles directory and some NASA files
                  from our Web site.

Misc. update:
2006-06-04 17:28:06 -05:00
Albert Cheng
56c0a0f993 [svn-r12358] Purpose:
Bug fix.

Description:
The ${TR}, though avoid the error, is inconvenient.  It is needed
because configure.in use the char range in the style of 'a-z'.
The other style of '[a-z]' is more commonly accepted by all tr
but autoconf tends to strip away [], making the syntax rather
clumsy.

Solution:
Learned from autoconf that it avoids the use of character range
by just spell all the letters out.  Changed our tr commands to
use those variables defined by autoconf.  Also removed the
definition of ${TR} since it will cause inconsistancy when
autoconf also use plain 'tr' in its generated code.

The Makefile.in are changed because the elimination of ${TR} from
configure triggered its removal from all Makefil.in.  That is okay
because ${TR} is not used at all in Makefile.

Platforms tested:
h5committested. (sol failed to connected). also tested in shanti
using both /usr/ucb/tr and /bin/tr (the bad one before.)

Misc. update:
Updated both INSTALL and RELEASE files.
2006-05-19 07:22:07 -05:00
Quincey Koziol
7b6db1046b [svn-r12349] Purpose:
Code checkpoint

Description:
    Checkpoint fractal heap improvements, as well as move the free space
manager code that it's using into a separate package.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4/64 (mir) w/C++ & FORTRAN
    Linux 2.4/32 (heping)
    Solaris 2.9 (shanti)
    AIX 5.? (copper) w/FORTRAN & parallel
2006-05-14 23:35:53 -05:00
James Laird
91e56dc68d [svn-r12295] Purpose:
Several bug fixes

Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am

Solution:
All four fixes should be straightforward.  The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.

Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
2006-04-21 14:21:24 -05:00
Quincey Koziol
2521c4084c [svn-r12254] Purpose:
Anti-feature

Description:
    Revert changes to H5G_stat_t struct, to make it compatible with the 1.6.x
branch again.  The information that was added to the H5G_stat_t struct will
be reported through other API routines.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/C++
    Linux 2.4/64 (mir) w/C++ & Fortran
    Solaris 2.9 (shanti)
2006-04-14 17:21:54 -05:00
Pedro Vicente Nunes
bc66efc788 [svn-r12229] Purpose:
new feature

Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h

Solution:

Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++

(one packet table example fails)

Misc. update:
2006-04-12 16:21:38 -05:00
James Laird
93aa12407f [svn-r12149] Purpose:
Bug fix

Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.

Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.

Platforms tested:
heping (minor makefile change)

Misc. update:
2006-03-23 16:26:17 -05:00
James Laird
524d25498f [svn-r12143] Purpose:
Bug fix

Description:
make check-clean didn't clean results of example tests

Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.

Platforms tested:
mir, modi4, heping, copper
2006-03-23 09:22:34 -05:00
Quincey Koziol
ee3fdc2dbc [svn-r12084] Purpose:
Code checkpoint

Description:
    The fractal heap code is reasonably stable and is passing all its
current tests, so checkpoint everything with CVS.

    Also, add "statistics" module for v2 B-trees code, which is only a
stub right now.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4 (chicago)
2006-03-13 14:47:16 -05:00
Elena Pourmal
c7b701f657 [svn-r12022] Purpose: Small bug fix
Description: Return value from H5Pget_layout is 0 for the compact datasets;
             It was assumed in the code that it was always greater than 0; therefore
             assertion failed when h5stat walked a compact dataset.

Solution: Fixed assertion statement

Platforms tested: h5stat doesn't have testscript yet; tested manually
                  with tfilters.h5 file on heping.
                  Fix is too minor to test it on multiple platforms.

Misc. update:
2006-03-07 09:32:41 -05:00
Quincey Koziol
dfbf976509 [svn-r12004] Purpose:
New feature & code cleanup

Description:
    Update fractal heap to be able to insert objects into a direct block
hanging off the header.

    Extract "octal dump" code into separate routine so that both the local
heaps & fractal heaps can use it.

    Other code cleanups & support to get this far.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2006-03-04 17:56:44 -05:00
Quincey Koziol
3713db1174 [svn-r11967] Purpose:
New feature

Description:
    Check in initial "fractal heap" code, for supporting the group redesign.

    Also, remove some remnants of the segmented heap/block tracker/B+tree code
which I didn't find during the last pass.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX (amazon)
    Linux 2.4
2006-02-26 22:46:46 -05:00
Quincey Koziol
b2d288804d [svn-r11965] Purpose:
Maintenance

Description:
    Remove half-built (half-baked? :-) implementation of B+tree, block tracker
and segmented heaps.   (In preparation for starting the new heap coding)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (heping)
2006-02-24 08:45:02 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
Code cleanup

Description:
    Check in some of the code cleanups from working on the external link
support.  (This doesn't include any of the external link features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Mac OSX.4 (amazon)
    Linux 2.4
2006-01-23 15:46:34 -05:00
Quincey Koziol
d4667a02cd [svn-r11787] Purpose:
Bug fix

Description:
    Remove several macros that are already defined in H5private.h and are
causing failures on copper.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-11 22:47:10 -05:00
Quincey Koziol
fe505c2bbf [svn-r11781] Purpose:
Bug fix

Description:
    Include more header files with prototypes to make CC=g++ builds work.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/CC=g++
    Too minor to require h5committest
2005-12-10 12:43:37 -05:00
Quincey Koziol
88c15b1617 [svn-r11771] Purpose:
Code cleanup

Description:
    Fix a bunch of warnings flagged by Windows compilers.


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-12-08 13:34:51 -05:00
James Laird
0f870b0f47 [svn-r11741] Purpose:
Bug fix

Description:
Fortran type generation was broken in two ways.  Fixed both.

Solution:
Firstly, there were a couple of path problems.  Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.).  Tweaked dependencies
to fix the problem.

Platforms tested:
mir, modi4, sleipnir
2005-11-18 15:31:53 -05:00
James Laird
4f8ca8e026 [svn-r11738] Purpose:
Configure feature

Description:
Added 'make trace' target.

Solution:
Added tracing to 1.7.  This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-11-18 10:55:22 -05:00
James Laird
75ea10e5f5 [svn-r11737] Purpose:
Bug fix

Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).

Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created.  These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules.  This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').

Platforms tested:
mir, sleipnir, modi4
2005-11-17 13:49:28 -05:00
Quincey Koziol
a1708eb023 [svn-r11712] Purpose:
New feature

Description:
    Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!

    This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release.  Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!

WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!
WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!  WARNING!!!!


Solution:
    There's too many changes to really describe them all, but some of them
include:
    - Stop abusing the H5G_entry_t structure and split it into two separate
        structures for non-symbol table node use within the library: H5O_loc_t
        for object locations in a file and H5G_name_t to store the path to
        an opened object.  H5G_entry_t is now only used for storing symbol
        table entries on disk.

    - Retire H5G_namei() in favor of a more general mechanism for traversing
        group paths and issuing callbacks on objects located.  This gets us out
        of the business of hacking H5G_namei() for new features, generally.

    - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t

    - Lots more...

Platforms tested:
    h5committested and maybe another dozen configurations.... :-)
2005-11-14 21:55:39 -05:00
James Laird
617522e467 [svn-r11646] Purpose:
Bug fix/feature

Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.

Solution:
h5fc and h5c++ didn't recognize -shlib.  Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries.  Thus,
--disable-static and make check-install should work together.

Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
2005-10-31 16:35:49 -05:00
Quincey Koziol
ebda068f2e [svn-r11619] Purpose:
Update copyrights.

Description:

Solution:
    This should address almost all of the "simple" cases in the repository.
There's still work to do, but it's going to require actually thinking about
the files in question instead of just copying & pasting.
2005-10-29 11:10:23 -05:00
James Laird
91cbcdf42f [svn-r11612] Purpose:
Bug fix

Description:
Failed parallel tests now cause make to exit with an error.

Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.

Platforms tested:
heping, modi4
2005-10-27 17:30:46 -05:00
James Laird
69293e09df [svn-r11602] Purpose:
Bug fix

Description:
Removed detection of pdb from configure.in as a corollary to removal
of pdb2hdf5 tool.


Platforms tested:
mir, modi4
2005-10-24 14:31:06 -05:00
James Laird
8619af74a4 [svn-r11601] Purpose:
Added additional targets to build-all

Description:
Surveyed files to find out which ones are not built.
Added test/space_overflow and perform/benchpar to programs built with
--enable-build-all.
Discovered that tools/misc/pdb2hdf5 and tools/misc/h5import were
obsolete and deleted them.

Platforms tested:
mir, modi4, sol

Misc. update:
Update of release file and removal of --enable-pdb2hdf5 to follow.
2005-10-24 13:58:15 -05:00
James Laird
87a56d9da2 [svn-r11573] Purpose:
Bug fix

Description:
Changed configure.in to use an environment variable TR to set the path
to the tr utility.

Solution:
There are two kind of tr on Solaris with slightly different syntax.
HDF5's configure relies on the "standard" tr.  Traditionally, HDF5ers
have needed to make sure that the "right" tr was found before the
wrong one in their path; now they can use an environment variable.

Platforms tested:
mir, shanti, sol

Misc. update:
Forgot to update release notes.  Off to do that now.
2005-10-17 16:38:38 -05:00
James Laird
bcf3f797d4 [svn-r11566] Purpose:
Makefile bug fix

Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.

Solution:
Automake doesn't like having rules for programs it doesn't build.  Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all.  This should be used mostly for testing and to ensure that
these helper programs compile.

***IMPORTANT***
These programs do *not* currently compile.  When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API.  This is
an existing "bug" that has simply been exposed by this checkin.

Platforms tested:
sleipnir, modi4, sol

Misc. update:
2005-10-14 17:52:13 -05:00
Albert Cheng
55c4f63df7 [svn-r11478] Purpose:
bug fix.

Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop.  Fixed it by issuing an exit 1 inside
the loop.

There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid.  Also, the test script itself
was not checked in the newer lists.  All fixed.

Platforms tested:
h5committested and also hand tested in heping pp mode.
2005-09-29 00:17:06 -05:00
James Laird
3267458b64 [svn-r11446] Purpose:
Bug fix

Description:
Massaged the newer script and config/conclude.am to make SX6 happy.


Platforms tested:
SX6, sol, mir
2005-09-20 16:46:24 -05:00
Albert Cheng
c0e83899c3 [svn-r11431] Purpose:
New feature.

Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts.  This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.

powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.

Platforms tested:
h5committested.
2005-09-17 22:04:28 -05:00
Quincey Koziol
9a8933bb69 [svn-r11425] Purpose:
Add new tool

Description:
    Add 'h5stat' tool to repo.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4
2005-09-17 11:14:32 -05:00
James Laird
ae2a313b5b [svn-r11421] Purpose:
Feature

Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.


Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-09-16 16:26:17 -05:00
James Laird
b656c90c8a [svn-r11420] Purpose:
Bug fix

Description:
Disabled C++ shared libraries for Sun Workshop compiler.

Solution:
This bug only seems to happen when using the -xarch=v9 flag to compile in
64-bit mode, but disabling shared libraries entirely for this compiler is
an easier fix (I don't know how to detect 64 bit mode from the command line).
The framework for disabling shared libraries for other C++ compilers is
in place.

Platforms tested:
sol, mir, sleipnir, modi4
2005-09-16 16:16:11 -05:00