Commit Graph

1390 Commits

Author SHA1 Message Date
Quincey Koziol
2374bb1012 [svn-r12759] Description:
Fix errors with check-vfd and recent modifications to tests.

Tested on:
    Linux/64 2.4 (mir) w/check-vfd
2006-10-13 12:16:07 -05:00
Albert Cheng
e065eee4a8 [svn-r12751] Purpose:
Bug fix (related to 544)

Description:
h5_get_file_size() was coded to return 0 if failed but
file size can be 0.  Changed the failure return value to -1
which is allowed by the returned type of off_t which is a signed
type.
Also changed the checking code of the stat call to just == 0
since that is how it is defined.

Test:
Could test it in heping only.  Both Sol and Copper failed to
compiled due to error in the Direct IO VFD code.
2006-10-11 22:55:06 -05:00
MuQun Yang
3cb353e883 [svn-r12748] _exit() function for Windows DLL cannot immediately terminate the calling process.
So new flush2 tests generates false failures for DLL version on windows.
Two cases of flush2 tests were skipped temporarily on windows. 
The inserted windows macros should be removed when a better solution is found.
Tested on vs6.0 and vs 7.1 and Linux.
2006-10-11 17:32:26 -05:00
James Laird
de383a7edf [svn-r12741] Added support for direct I/O to check-vfd. The direct VFD is only tested
if it is enabled.

Added Direct VFD status to the configure summary.

Removed a line left over from pablo support.  Oops!
2006-10-10 15:47:24 -05:00
Quincey Koziol
c0c896e724 [svn-r12740] Description:
Update datasets and the layout, attributes and fill-value
object header messages to use the latest version
of the file format flag.

Tested  on:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
2006-10-10 15:36:33 -05:00
Raymond Lu
65d30cc9c3 [svn-r12739] Added Direct I/O driver to VFD. It's only supported by SGI Altix (cobalt). There's a configure
option --enable-direct-vfd/--disable-direct-vfd to enable/disable Direct I/O support.  The default
is enabled.  There's a small test in test/vfd.c.  Another way to test it is to set environment
variable HDF5_DRIVER to "direct" and run "make check" in the test/ directory.  There'll be some
further improvement in the following checkin including allowing user to provide memory boundary
value, file block size, and copying buffer size.
2006-10-10 15:07:16 -05:00
Quincey Koziol
14dcb6db33 [svn-r12736] Description:
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)

    Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back.  (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
    Carry those changes into the tests, etc.

    Clean up a bunch more compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-1.6-compat
2006-10-08 23:18:18 -05:00
James Laird
953efd5c47 [svn-r12729] Skipped reserved test. Hopefully the test will be updated someday.
Tested on heping.
2006-10-06 12:38:42 -05:00
James Laird
4d8a0f4c54 [svn-r12719] Configured external links to (by default) use the FAPL of the parent
file, rather than H5P_DEFAULT.

This lets them be used with stdio and directio drivers.

Tested on mir and juniper (check-vfd takes a long time!).
2006-10-04 17:40:06 -05:00
Leon Arber
4dea870b6a [svn-r12718] Purpose: New Feature
Description: Add a new part to the flush test that checks to see what happens in case a file is flushed, and
	     then a new dataset is created and the program exits without flushing this subsequent dataset. 
	     The test verifies that, at the very least, the data written out before the H5Fflush call is correct.
2006-10-04 14:50:40 -05:00
James Laird
e5f0444b3a [svn-r12715] Incorporated a user-submitted patch to better detect the 'tr' utility
and quote its arguments.  Also checks for the 'socket' library on
Solaris.

If this patch passes the Daily Tests and makes the user happy, I'll
port it back to the 1.6 branch.

Tested on mir and sol.
2006-10-03 17:41:34 -05:00
Quincey Koziol
16fe9dbb82 [svn-r12712] Description:
Finish 'use the latest version of the format' changes to the datatype
object header message.  Compound and enumerated types will now be encoded
more efficiently by packing the field names & member offsets better.

Tested on:
    Linux 2.6/32 (chicago)
    Linux 2.6/64 (chicago2)
2006-10-03 11:05:09 -05:00
Quincey Koziol
05429c6c6c [svn-r12711] Description:
Define 'TRUE' macro and remove dependency on h5test header/library.

Tested on:
    Linux/64 2.6 (chicago2) w/--enable-build-all
2006-10-03 10:48:22 -05:00
James Laird
858cbb7c09 [svn-r12710] Added an include for "h5test.h" to test/gen_new_group.c to fix a compilation
error.

Since this is a "gen" program that generates a test file, it isn't always
built.  Use ./configure --enable-build-all to test it.
2006-10-03 09:13:59 -05:00
Quincey Koziol
dc1a35a843 [svn-r12709] Description:
Don't use 'TEST_ERROR' macro in file generation...

Tested on:
    None, just eyeballed - very minor...
2006-10-03 08:34:41 -05:00
Quincey Koziol
e9ea7e8eaf [svn-r12708] Description:
Add the "use the latest version of the format" support to datatype
messages.  And a regression test to check that it's working.

    Also, found that we have been over-allocating space for compound datatype
messages (when they have array datatypes or can use the latest version of the
format) and trimmed the size back.

    Clean up datatype & dataspace encode/decode routines by having them
allocate & release "fake" file structures, which gets them out of needing to
"know" about the internals of file structures.

    Other minor whitespace/formatting cleanups, etc.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-02 19:54:33 -05:00
Quincey Koziol
84a4166e72 [svn-r12707] Description:
Further minor modifications to the file format for tracking links in groups.
This is tentatively the "final" file format for groups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-02 16:46:39 -05:00
Quincey Koziol
79aecf8953 [svn-r12706] Description:
Clean up some of the warnings on 64-bit Linux...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    Too minor to require h5committest
2006-10-02 14:59:46 -05:00
Quincey Koziol
a36a5b30d7 [svn-r12705] Description:
Fix file handle destroy routine to not attempt to flush out partially
initialized file handles (when opening a file fails).

Tested on:  (until they finished testing, this time... :-)
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/64 2.4 (mir) w/1.6 compat
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Mac OSX/32 10.4.8 (amazon)
2006-10-02 13:32:46 -05:00
Quincey Koziol
22a3d4b0c9 [svn-r12702] Description:
Add test to fractal heaps to exercise issues with opening the same heap
through two different file handles.

    Fix issues with file handle contexts in metadata cache callbacks for heap
components.

    Fix bug in file close handling where cached information was being
invalidated even when another file handle was open to the file.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/64 2.4 (mir) w/1.6 compat
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Mac OSX/32 10.4.8 (amazon)
2006-10-02 09:45:49 -05:00
Quincey Koziol
a6f6462541 [svn-r12700] Alert:
File format is not stable, don't keep files produced!

Description:
    First stage of checkins modifying the format of groups to support creation
order.  Implement "dense" storage for links in groups.

    Try to clarify some of the symbols for the H5L API.

    Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)

    Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).

    Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.

    Clean up lots of compiler warnings and other minor formatting issues.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-v1.6 compa
    Mac OSX/32 10.4.8 (amazon)
    AIX 5.3 (copper) w/parallel & FORTRAN
2006-10-02 05:24:03 -05:00
Leon Arber
c8a9a305cc [svn-r12696] Purpose: Add Feature
Description: 
    Add a second test case to the serial flush tests.  This tests the case when the file is not flushed out to disk and verifies that it fails as expected.

Platforms:
    Linux (heping)
2006-09-29 17:01:07 -05:00
Quincey Koziol
53a2d21415 [svn-r12682] Description:
Make Windows64 compiler happy by initializing variable... :-)

Tested on:
    None - just eyeballed (very minor)
2006-09-26 10:05:42 -05:00
Quincey Koziol
c77e39522b [svn-r12680] Description:
Review, revise & checkin in Peter's latest round of object copy changes,
which add basic support for datasets & attributes with reference datatypes.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-25 17:22:14 -05:00
Quincey Koziol
24725d64aa [svn-r12668] Description:
Re-run 'bin/reconfigure' script after recent checkins

Tested on:
    none - shouldn't have any affect on compilation
2006-09-15 15:06:01 -05:00
Quincey Koziol
0ffb6caabd [svn-r12666] Description:
Initialize local variable that is causing compiler problems on Windows/64

Tested on:
    None - too trivial
2006-09-14 12:35:39 -05:00
Quincey Koziol
d3a12e1058 [svn-r12661] Description:
Add 'loookup3' checksum routine and switch to using it for metadata
checksums - it's just as "strong" as the CRC32 and about 40% faster in general
(with some compiler optimizations, it's nearly as fast as the fletcher-32
algorithm).

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-12 10:25:35 -05:00
Elena Pourmal
298dbe5396 [svn-r12659] This is VMS maintenance check-in.
Some of the tests cannot be run on VMS since they try to open
the same file twice.

Solution:
Bypass the tests according to the H5_CANNOT_OPEN_TWICE variable setting.

Platforms tested:
VMS server and heping.
2006-09-11 18:18:29 -05:00
Quincey Koziol
6442a5dd9c [svn-r12657] Description:
Clean up whitespace/formatting.

Tested on:
    Mac OS/PPC 10.4 (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-11 12:39:44 -05:00
Quincey Koziol
e5cad0ef24 [svn-r12655] Description:
Add "op" routine to perform operation on heap object "in situ", to allow
for faster operations on dense links during B-tree traversal & lookup.
Refactor the "read" routine to use the internal version of the "op" routine,
to keep the code duplication as low as possible.

Tested on:
    Mac OS X.4/PPC (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-11 12:25:26 -05:00
Quincey Koziol
46467e91b0 [svn-r12649] Description:
Add a CRC algorithm to the library, initially for "small" (<256 byte)
metadata blocks.

    Update checksum tests to verify it's working correctly.

Tested:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    (Will be testing on more platforms after checkin)
2006-09-05 18:06:54 -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
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
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
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
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
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
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
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
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
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
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
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
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