Commit Graph

9023 Commits

Author SHA1 Message Date
Quincey Koziol
27473d70b0 [svn-r12647] Description:
Eliminate redundant "B-tree type" byte from internal & leaf nodes.  May
possibly improve B-tree density in rare circumstances...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-05 16:38:55 -05:00
Quincey Koziol
5fb857d275 [svn-r12646] Description:
Remove some references to "twig" and "branch" internal B-tree nodes, which
were eliminated in the previous checkin.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-05 16:34:17 -05:00
Quincey Koziol
94a96a02d6 [svn-r12645] Description:
Enable the checksums on the free space tracker's metadata.

    Clean up a few compiler warnings from 64-bit machines.

Tested:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-05 16:32:59 -05:00
Quincey Koziol
23b3a6a91b [svn-r12644] Description:
Improve density of the B-tree further.  For greater depths of B-trees,
the gains are over 100%...

    Also, don't split internal nodes with 3->4 splits, use a 1->2 split
instead, so that the density of the nodes around a split is maximized.

Tested:
    Mac OS X/PPC 10.4 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-05 15:53:16 -05:00
Frank Baker
35fc3a4a83 [svn-r12642]
Description:
    Update copyright notice, after assignment of the HDF products to THG.
    Adds "Copyright 2006 by The HDF Group (THG)."
    Provides separate credits to the U of I for 'NCSA HF5' and 
        to THG for 'HDF5'.
Testing:
    Visual inspection.
2006-09-04 14:19:06 -05:00
Frank Baker
749a0b9c17 [svn-r12640]
Description:
    Add per-directory abbreviated copyright notices 
    (abbreviated COPYING files pointing to full notices).
Tested:
    MANIFEST verified; not otherwise tested.
2006-09-04 13:30:13 -05:00
Quincey Koziol
d1e7ac416e [svn-r12638] Description:
Split edge nodes in the tree with a 1->2 node split, instead of a 2->3 node
split, which creates a more dense tree when a pattern of record insertions
occurs (because it leaves behind full nodes instead of 2/3 full nodes).

Tested:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
    Solaris/64 2.9 (shanti)
2006-09-04 11:37:41 -05:00
Albert Cheng
35a3022373 [svn-r12636] Purpose:
Improve default settings.

Use mpicc, mpif90, mpirun as the default $CC, $FC, and $RUNPARALLEL if
enable-parallel.

Tested:
in TG-NCSA both serial and parallel.
2006-08-29 06:19:11 -05:00
Albert Cheng
66d2d26f5d [svn-r12634] Purpose:
Code cleanup.

Description:
Removed argc and argv from the function arguments of h5tools_get_fapl() and
h5tools_fopen().  They were used to call MPI_Init() which was no longer
needed.

Tested:
heping (serial and parallel).
2006-08-27 19:55:27 -05:00
Elena Pourmal
0265f1ca11 [svn-r12632] Description:
Thread safe error test fails due to the changes in the error stack.

Solution:
  Updated the expected error stack.

Platforms tested:
 heping (too minor, probably will fail on Tuesday anyway)
2006-08-27 16:09:31 -05:00
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
Quincey Koziol
e9889fe2d3 [svn-r12630] Description:
Re-order the fheap & btree2 tests so that the btree2 test runs first,
because the fractal heaps use v2 B-trees for tracking huge objects.

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:22:57 -05:00
Quincey Koziol
41a1614db8 [svn-r12629] Description:
Rearrange code to avoid compiler bugs on tg-login3 machine with
gcc 3.2.2

Tested on:
        tg-login3
2006-08-25 16:09:28 -05:00
Pedro Vicente Nunes
896f001f33 [svn-r12628]
updated the usage message of h5copy
2006-08-24 16:48:51 -05:00
James Laird
0274a5f3a2 [svn-r12627] Skipped links and fheap tests when stdio file driver is used.
These errors should be investigated more thoroughly later.  The underlying
problem in links.c seems to be that files opened multiple times don't share
the same H5F_shared_t struct.  Perhaps identifying when this is the case
would be helpful?

Tested on mir.
2006-08-24 11:09:23 -05:00
Pedro Vicente Nunes
35661615a5 [svn-r12626]
h5copy, new behavior according to RFC: introduction of -i, -o, -s , -d
switches for file and object names
2006-08-24 10:53:31 -05:00
James Laird
a03c1f742d [svn-r12625] Make sure that a return value in H5Fget_intent is initialized correctly. 2006-08-24 10:05:24 -05:00
James Laird
26f511b761 [svn-r12624] Added external link files to MANIFEST (oops!). 2006-08-24 09:18:42 -05:00
James Laird
9edac8a668 [svn-r12623] Added H5Fget_intent() function to get the "intent" of a file (read/write or
read-only).
Added this to external links, so that external files are opened with the
same intent as the source file.
Added tests.
2006-08-23 19:52:21 -05:00
James Laird
afb817a0a7 [svn-r12622] Updated RELEASE.txt with External Link changes. 2006-08-23 19:39:26 -05:00
Quincey Koziol
fe2ae3efc7 [svn-r12620] Description:
Clean up some compiler warnings by removing "UNUSED" from function
prototypes.

Tested on:
    Linux 2.? (tg-login3)
    Too minor to require h5committest
2006-08-23 13:28:17 -05:00
Quincey Koziol
9c30e7bba1 [svn-r12619] Description:
Fix off-by-one error in computing the size of metadata prefixes for v2
B-tree internal & leaf nodes.

    General code cleanup and reformating.

Tested On:
    Mac OS X.4/PPC (amazon)
    Too minor to require h5committest
2006-08-23 10:26:25 -05:00
MuQun Yang
2c7ce93f85 [svn-r12618] Update project files on windows to catch up with Quincey's new check-in.
VS 6.0 C only
2006-08-23 09:59:56 -05:00
Elena Pourmal
0275bb1399 [svn-r12617] Description:
VMS maintenance; added source files to the command files

Platforms tested:
  VMS server (still running :-)
2006-08-22 17:21:08 -05:00
MuQun Yang
f13881bc4f [svn-r12616] Quincey added H5HFtiny.c in the source code. The hdf5 library projects need to be updated.
Tested with MSVS 6.0.
2006-08-22 16:51:41 -05:00
Quincey Koziol
618fd1f98d [svn-r12615] Description:
Add checksum to v2 B-tree metadata.

Tested On:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 15:03:21 -05:00
Quincey Koziol
06ae330cd8 [svn-r12614] Description:
Various minor reformatting & code cleanups.

Tested On:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 15:00:43 -05:00
Quincey Koziol
952c60946c [svn-r12613] Description:
Reorder metadata cache callbacks to be more sensible.

Tested on:
    None - just eyeballed, very simple change
2006-08-22 12:52:14 -05:00
Quincey Koziol
5c5f9e8e28 [svn-r12612] Description:
Provide more abstract internal routine for computing checksums on metadata
in a file.  This will allow a unified policy on which algorithm to choose and
under what criteria (length probably) to be more easily maintained.

Tested On:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:50:25 -05:00
Quincey Koziol
c2c6e2d0d5 [svn-r12611] Description:
Remove unused flag byte from fractal heap metadata on disk.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:20:49 -05:00
Quincey Koziol
dfd71ce126 [svn-r12610] Description:
Add support for checksumming fractal heaps.  This is always enabled for
the heap header and indirect blocks (as they are "pure" metadata) and is
optional for direct blocks, since they may be used for "raw" data.

    Also, rearrange direct block routines in H5HFcache.c to be in a more
sensible location in the file.  (probably should have been a separate checkin,
since the diffs are mostly useless for this checkin... *sigh*)

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:13:17 -05:00
Quincey Koziol
058eb9921d [svn-r12609] Description:
Comment out the use of the "-Wpadded" flag, it's generating far too many
warnings that are impossible to correct and probably making it harder to see
other warnings that are more important.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:08:23 -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
c17ea44617 [svn-r12607] Description:
Tweak the library's new faster fletcher32 algorithm to always produce the
same checksum as the previous fletcher32 code in the fletcher32 I/O pipeline
filter and switch the filter to use the library's version of the algorithm.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    Too minor to require h5committest
2006-08-22 08:51:30 -05:00
Quincey Koziol
7a5586ca8e [svn-r12606] Description:
Switch to somewhat less high performance checksum implementation that
doesn't run into problems for mis-aligned buffers in memory.

Tested On:
    FreeBSD/32 4.11(sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-21 19:37:38 -05:00
Quincey Koziol
5fe34046c0 [svn-r12605] Description:
Break out a bunch of the misc. routines that were in src/H5.c into more
specific modules.

    Add optimized fletcher32 checksum routine, for checksumming metadata as
well as raw data.

Tested On:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    Will test further after checkin...
2006-08-21 18:27:11 -05:00
Quincey Koziol
6bbe128367 [svn-r12604] Description:
Change call from H5O_loc_free() to H5G_name_free() when certain dataset
open failures are generated.

Tested on:
    Linux/32 2.6 (chicago)
    Too minor to require h5committest
2006-08-21 10:29:32 -05:00
Quincey Koziol
d327b6eae6 [svn-r12603] Description:
Add a bunch more regression tests:
        - Verify opening a fractal heap more than once works correctly
        - Check that 0 & 1-sized object insertions are handled correctly
        - Check that bad heap IDs are detected when attempting to read an
            object
        - Check that doubling tables with different parameter values are
            working correctly

    Add some more checks to the code to detect 0-sized object insertions and
bad heap IDs for reading.

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-21 09:56:20 -05:00
Quincey Koziol
143cfe24b4 [svn-r12602] Description:
Correct bug in doubling table algorithm which was generating incorrect
row & column for offset larger than could be represented in 32 bits.

    Also, beef up the error checking in direct block code a bit

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-21 09:51:16 -05:00
Quincey Koziol
fc409b2cd0 [svn-r12601] Description:
Fix bug in deserializing sections from disk which would recompute the
sections' serialized size while the sections were being deserialized,
thoroughly baffling the algorithm.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-21 09:48:21 -05:00
Quincey Koziol
16897c2d2a [svn-r12600] Description:
Clean up code a bit by reformatting and using portable macros for direct
C library calls.

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-21 09:44:30 -05:00
Quincey Koziol
5a7ef381b2 [svn-r12598] Description:
- Migrate "direct block location" routine from H5HFman.c to H5HFdblock.c,
        which is a more appropriate location
    - Optimize performance of heap code by taking advantage of pinned
        indirect blocks and use them without putting a metadata cache
        protect/unprotect pair around them.
    - Other minor compiler warning cleanups and optimizations...

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-18 21:42:18 -05:00
Quincey Koziol
c83c6dd945 [svn-r12597] Description:
Take advantage of the new feature in the metadata cache to insert pinned
entries into the metadata cache directly, instead of insterting them,
protecting them, pinning them and unprotecting them.

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-18 21:38:03 -05:00
James Laird
75d22ed839 [svn-r12596] Refactored how external files are opened and closed.
Object header locations (H5O_loc_t's) can now "hold open" a file and
decrement its open object count when they close.  This means that
locations (H5O_loc_t's and H5G_loc_t's) should always be freed.

Added more thorough tests to ensure that external files are closed.
2006-08-18 15:48:54 -05:00
John Mainzer
e8c1fdd554 [svn-r12595] Modified H5C_insert_entry() to accept the H5C__PIN_ENTRY_FLAG entry
flag, and pin an entry as it is inserted.

The objective is to avoid some function call overhead in fheap.

Also added matching test code in test/cache.c & test/cache_common.c
(also testpar/t_cache.c checked in separately by accident)

h5commit tested
2006-08-17 17:04:47 -05:00
John Mainzer
db9759bd10 [svn-r12594] Added small parallel test for modification of H5C_insert_entry() allowing
insertion and pinning of a cache entry in one call.

h5commit tested
2006-08-17 16:59:49 -05:00
Quincey Koziol
4eb07936c7 [svn-r12593] Description:
Clean up some of the parallel chunk I/O compiler warnings and other minor
code rearrangement.

Tested on:
    FreeBSD 4.11 (sleipnir) w/paralllel
    h5committest
2006-08-17 14:26:42 -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
Quincey Koziol
0de2335088 [svn-r12591] Description:
Add an error code for a I/O filter pipeline operation failing

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-17 10:54:05 -05:00
Quincey Koziol
34f456170d [svn-r12590] Description:
Set the parent indirect block information correctly when creating new
row sections.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-17 10:51:17 -05:00