Commit Graph

3340 Commits

Author SHA1 Message Date
Quincey Koziol
dec126b2fe [svn-r12587] Description:
Call the H5L API's termination routine when the library is terminating.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-17 10:41:26 -05:00
Quincey Koziol
02bb68f97e [svn-r12585] Description:
Correct parameter flipped in memset call (Thanks Peter!)

Tested on:
    Very minor, just eyeballed.
2006-08-17 10:33:02 -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
Albert Cheng
fc6b17b640 [svn-r12582] Purpose:
upgrade.

Description:
Changed the error report of read and write to HSYS_GOTO_ERROR to report
system error messages.

Platforms tested:
heping, osage, copper.
2006-08-16 23:05:35 -05:00
Quincey Koziol
89f36d62b7 [svn-r12575] Description:
Allow the heap ID length to be chosen at heap creation time, to allow
for making heap IDs long enough to directly embed the file offset & length
of 'huge' objects in the heap ID (which allows them to be retrieved directly
from disk, instead of requiring them to be looked up in the B-tree that tracks
'huge' objects)

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 9 (shanti)
2006-08-13 21:50:11 -05:00
Quincey Koziol
c4a5b8e16c [svn-r12573] Description:
Clean up a couple of compiler warnings in the 'huge' object code in the
library.

    Add a bunch of 'huge' object regression tests

Tested on:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-12 23:18:45 -05:00
Quincey Koziol
23d1007926 [svn-r12572] Description:
Refactor new heap's header creation code to be all in the H5HFhdr.c
module.

Tested on:
   FreeBSD 4.11 (sleipnir)
   Linux/64 2.4 (mir)
   Solaris/64 2.9 (shanti)
2006-08-12 23:17:14 -05:00
Quincey Koziol
2ffaed7e7f [svn-r12571] Description:
Fix failure in "remove bogus ID" test which turned up randomly (due to
random "bogus" IDs being used in test :-) by adding some more defensive
checks on object IDs to the object removal code.

Tested on:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 (shanti)
2006-08-12 23:14:38 -05:00
Quincey Koziol
a7304e80a3 [svn-r12570] Description:
Refactor file memory allocation code slightly, to make it clearer, along
with adding/correcting some comments.

Tested on:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-12 23:10:31 -05:00
Quincey Koziol
1369e55090 [svn-r12568] Description:
Rename some files, to better align with the names of the functions within
them.

Tested on:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-08-11 22:07:24 -05:00
Quincey Koziol
ff44c2099b [svn-r12567] Description:
Correct remaining compilation errors when debugging asserts are turned on
in free space manager.

Tested in:
    FreeBSD 4.11 (sleipnir)
    Too minor for h5committest
2006-08-11 21:58:28 -05:00
Quincey Koziol
67eba917e2 [svn-r12565] Description:
Move metadata cache address rename for fractal heap indirect block
immediately after reallocing the storage on disk - to prevent another
routine in the library from confusing the cache by allocating more storage
and attempting to insert it in metadata cache at the old block's location.

    Gotta like those monte carlo/random insert & delete tests, which exposed
this... :-)

Tested:
    Solaris 2.9 (shanti)
    Not failing on other machines
2006-08-11 13:47:44 -05:00
Quincey Koziol
b648c14f13 [svn-r12562] Description:
Initial revision to add support for "huge" objects in the heap (which are
actually stored directly in the file, but are tracked with v2 B-tree that is
accessed through heap header).

Testing:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
    Mac OS X.4 (amazon)
2006-08-09 22:45:06 -05:00
Quincey Koziol
f06e8744a5 [svn-r12561] Description:
Update code formatting a little and refactor to add a better mechanism
for performing callbacks when removing records from the B-tree or deleting
entire B-tree.

Testing:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
    Mac OS 10.4 (amazon)
2006-08-09 22:42:51 -05:00
Quincey Koziol
cb60bf2936 [svn-r12560] Description:
Correct some typos in comments

Testing:
    None needed
2006-08-09 22:39:43 -05:00
MuQun Yang
d4aae6cbff [svn-r12555] 1. Erased a strange character added to this code
2. Used to workaround solution to fix the cchunk10 failure caused by the MPICH bug 
Machine test:

heping, mir
2006-08-09 10:18:31 -05:00
MuQun Yang
6916816a56 [svn-r12553] This check-in includes the following part of parallel optimization codes:
1. Provide another option for users to do independent IO with MPI file setview(collectively)
2. With the request of collective IO from users, using Independent IO with MPI file setview if we find collective IO is not good for the applications for IO per chunk(multi-chunk IO) case. Previously we used pure independent IO and that actually performed small IO(IO each row) for this case. The recent performance study suggested the independent IO with file setview can acheieve significantly better performance than collective IO when not many processes participate in the IO.
3. For applications that explicitly choose to do collective IO per chunk case, the library won't do any optimization(gather/broadcast) operations. The library simply passes the collective IO request to MPI-IO. 

Tested at copper, kagiso, heping, mir and tungsten(cmpi and mpich)
Kagiso is using LAM, t_mpi test was broken even.
The cchunk10 test  failed at heping and mir. I suspected it was an MPICH problem. Will investigate later.
Everything passed at copper.
at tungsten: the old cmpi bug(failed at esetw) is still there. Other tests passed.
Some sequential fheap tests failed at kagiso.
2006-08-08 22:00:11 -05:00
Quincey Koziol
d17d42acd0 [svn-r12552] Description:
More tweaks on fractal heap statistics, to better separate information
about managed objects from information about "huge" objects.

    Also, clean up some compiler warnings, etc. on 64-bit platforms & Windows.

Platforms tested:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago)
2006-08-07 16:24:29 -05:00
Quincey Koziol
4f289e5b92 [svn-r12551] Description:
Refactor fields in heap header to clean out information from dropped
features and also group related fields together more nicely.

    Add fields to heap header for storing information about "huge" objects.

Platforms tested:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago)
2006-08-07 14:51:59 -05:00
Quincey Koziol
80b1c44327 [svn-r12550] Description:
Refactor fractal heap IDs to include "flag byte" as part of the ID.  This
byte will be used for the heap ID format version as well as flags to indicate
whether the heap object is a "tiny"/normal/"huge" object (with storage
mechanisms optimized for each type of object).

Platforms tested:
    Linux/32 2.4 (chicago)
    Too minor to require h5committest
2006-08-07 13:18:17 -05:00
Quincey Koziol
9a03ce6406 [svn-r12549] Description:
Add support for entire heap deletion.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux/32 2.4 (chicago)
    Linux/64 2.4 (mir)
    Mac OS X (amazon)
2006-08-07 11:49:18 -05:00
Quincey Koziol
8b9f020cb1 [svn-r12544] Description:
Clean up compiler warnings/failures in test/links.c, especially when
--disable-production flag used with --enable-group-revision

    Modify binary dumping in h5dump to clean up files created [a band-aid
solution to not actually creating the files in the srcdir, but better than
just leaving the files around... :-/ ]

Tested:
    FreeBSD 4.11 (sleipnir) (w/ configure flags above)
    Too minor to require h5committest
2006-08-04 15:44:42 -05:00
Quincey Koziol
e5f3e6474a [svn-r12543] Description:
Re-run 'make trace' on this file, so API tracing doesn't issue compiler
errors in development builds

Tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-08-04 15:00:40 -05:00
James Laird
b5724779d0 [svn-r12533] Standardized the way path prefixes are passed to external links using a
LAPL.  Now there are H5Pget and H5Pset functions for "elink_prefixes".
2006-08-03 17:35:58 -05:00
James Laird
d2dc352530 [svn-r12531] Fixed a bug that occurred with 64-bit compilers. Types were used inconsistently
(the nlinks property was an int in some places and a size_t elsewhere--it is now
a size_t everywhere).
2006-08-03 13:39:34 -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
Quincey Koziol
87449d081d [svn-r12517] Description:
Fix the last scattered bunch of problems with the object deletion code,
which appears to be completely working now (for objects that are stored
within heap blocks - standalone objects aren't implemented yet).

    Also, re-work the regression test to speed up some of the existing tests
and add in 100-200 more combinations of tests - overall, its probably even
slower than it was... :-/

Tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    Mac OS X (amazon)
2006-07-31 04:54:09 -05:00
Pedro Vicente Nunes
b7dd856aea [svn-r12504]
bug fix

calling h5tools_get_fapl running the mpio driver caused H5FD_pl_copy to
fail silently in some conditions. a MPI call was made before MPI_Init.

solution: corrected the MPI call to be made after MPI_Init and added error return
conditions to H5FD_pl_copy and h5tools_get_fapl

tested on copper parallel, mir, shanti
2006-07-27 10:01:48 -05:00
Quincey Koziol
d3548fa09c [svn-r12495] Description:
Checkpoint further work on object deletion code for fractal heaps.  I
believe everything is finally working for this sub-task.  More regression tests
soon, but I don't foresee any problems.

Machines:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
2006-07-24 20:40:00 -05:00
Quincey Koziol
24112b0112 [svn-r12492] Fix compile error for non-debug builds 2006-07-22 22:24:36 -05:00
Quincey Koziol
58ed885d13 [svn-r12491] Description:
Refactored object deletion code for fractal heap to fix scaling problems.
Passing all previous tests again now.

Tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    Mac OS X (amazon)
2006-07-21 20:55:14 -05:00
Elena Pourmal
b0379795d5 [svn-r12478] Changed version number to 1.8.0-alpha5 after tagging hdf5-1.8.0-alpha4 release
with "hdf5_1_8_0_alpha4" tag.
2006-07-16 21:59:54 -05:00
Quincey Koziol
e9d6c992d6 [svn-r12474]
Clean up some compiler warnings.

Tested on:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-07-15 14:49:04 -05:00
John Mainzer
801b5b09f2 [svn-r12462] Committed a variety of metadata cache related changes:
1) Added trace file support to the metadata cache.  This allows capture
   of all metadata cache calls in trace files for purposes of optimization
   and debuging.

2) Added an expunge entry function.  This allows an entry to be deleteded
   from the cache without writing it to disk even if it is dirty.

3) Added a function call to resize pinned entries.

4) Added code to deal with entries that are dirty on load.  This is
   needed in support of a bug fix which can alter object headers on
   load to repair files.

5) Added progress reporting code to the "MDC API smoke check" test in
   cache_api.c.  To enable the progress reporting, set report_progress
   to TRUE in mdc_api_call_smoke_check().

Tested with h5committest, and a parallel test on phoenix (dual athelon
linux box).
2006-07-13 12:59:39 -05:00
starfire
8db4fe6d16 [svn-r12461] Cleaned up the names of some internal API functions, cleaned up comments,
fixed a few tests that used incorrect names for H5L APIs (formerly hidden behind
H5_GROUP_REVISION ifdefs

Mostly cosmetic changes, tested on mir.
2006-07-10 10:47:58 -05:00
James Laird
801ca2f9cb [svn-r12452] Purpose:
Feature

Description:
Revised Link APIs.

Solution:
New link APIs use H5L*
H5*create_expand do not create links to the objects created; this must
be done manually with H5Llink.
Added APIs to link an object given its ID (H5Llink), to copy links (H5Lcopy),
and changed creation APIs (H5Lcreate_hard and H5Lcreate_soft) and query
API (H5Lget_linkinfo instead of H5Gget_objinfo).
All old APIs are still supported in H5Gdeprec.c .

Platforms tested:
sol, mir, copper

Misc. update:
Forgot to update MANIFEST and release docs.  Will do after checkin.
2006-07-05 14:01:50 -05:00
Quincey Koziol
7c8a630054 [svn-r12449] Purpose:
Code checkpoint

Description:
    Revise fractal heap code to support deletions in up to 2nd level deep
indirect blocks.  Needs some revisions to support deeper indirect blocks...

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    h5committest
2006-07-01 08:58:14 -05:00
Albert Cheng
026e4e531a [svn-r12445] Purpose:
Bug #281

Description:
The previous fix for bug #281 was not safe.  Files got corrupted in
some cases.  Needs a more comprehensive fix for it. Undo the unsafe
fix for now.

Platforms tested:
h5committested.
2006-06-29 13:06:16 -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
Quincey Koziol
8d72542a50 [svn-r12439] Purpose:
New feature

Description:
    Check in Peter's code to add support for "shallow copy", "create
intermediate groups", "no attributes" and "expand soft links" support.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago) w/ & w/o group-revision enabled
    h5committest
2006-06-26 17:01:43 -05:00
Raymond Lu
4dfad81062 [svn-r12435] Purpose: Bug fix
Description: Mac OS 10.4 on PowerPC chip has some errors to convert (unsigned)
long long to long double.  When the bit sequences are 0x003ff..., 0x007fff...,
0x00ffff..., 0x01ffff..., 0x7fffff..., the converted values are twice as big
as they should be.

Solution: Detect the error in configure and disable the compiler conversion
and test case.

Platforms tested: h5committest, Mac OS 10.4, and fuss.
2006-06-23 17:11:12 -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
Raymond Lu
823fbd0e88 [svn-r12425] Purpose: Bug fix
Description: Data conversion from long double to (unsigned) long long
returns some incorrect values on Mac OS 10.4 and SGI IRIX64 6.5.  The
conversions start to go wrong when the long double is
20041683600089727.779961 (0x4351ccf385ebc8a0bfcc2a...).  If adjusting
the values higher by assigning 0x...c8a0cf... or 0x...c8a0df..., the
converted values go wild.

Solution: Detect this error in configure.in and disable compiler
conversions from long double to (unsigned) long long for Mac OS 10.4
and IRIX64 6.5.

Platforms tested: h5committest, Mac OS 10.4, and IRIX64 6.5.
2006-06-20 09:45:37 -05:00
Quincey Koziol
9db9e82cd1 [svn-r12424] Purpose:
Code checkpoint

Description:
    Add in more new features for the fractal heap code, mostly bringing in
more ability for deleting objects (which isn't completely working yet).

    Also, checkpoint free space manager code, which is essentially complete
(although it needs some more work after the metadata cache has some additional
features)

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    h5committest
2006-06-19 05:06:10 -05:00
Quincey Koziol
54e2de04d3 [svn-r12423] Purpose:
New feature

Description:
    Add '%t' format for HDfprintf() to print htri_t (and hbool_t) values.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    h5committest
2006-06-19 05:00:18 -05:00
Quincey Koziol
b246f9d5ed [svn-r12422] Purpose:
Bug fix

Description:
    Don't attempt to merge object header messages when a file is opened
read-only.

    Mark the object header dirty when messages are merged, as well as the
particular message affected.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-06-18 21:13:26 -05:00
Quincey Koziol
abce343da8 [svn-r12414] Purpose:
Bug fix

Description:
    Fix bug which could lead to files with incorrect count of messages in the
header for an object.  The exact sequence of operations is complicated and
is described in the release notes.

Solution:
    Mark merged null header messages as dirty.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago)
    Mac OS/X (amazon)
2006-06-17 13:05:03 -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