Commit Graph

7200 Commits

Author SHA1 Message Date
Quincey Koziol
9dad79e3f8 [svn-r10238] Purpose:
Optimization

Description:
    Speed up I/O on enumerated datatypes (including those nested in compound
datatypes, arrays, etc.) if the destination datatype is a proper superset of
the source datatype.

Solution:
    Detect the situation and treat as no-op datatype conversion.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-19 20:32:35 -05:00
James Laird
bb4d9ebc55 [svn-r10237] Purpose:
Bug fix

Description:
Cleaned up an unused function, cast pointers that were causing g++
to complain on sleipnir.

Platforms tested:
sleipnir
2005-03-19 16:30:00 -05:00
Binh-Minh Ribler
5463c0a62b [svn-r10236] Purpose: Added a util wrapper
Description:
    Added function IncTestNumErrs to increment the number of errors
    that is defined in testframe.c

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
2005-03-19 09:11:40 -05:00
James Laird
821104ae47 [svn-r10235]
Purpose:
Clean up

Description:
Removed declarations of two functions that are no longer used.
Fixed some indentations.

Platforms tested:
sleipnir
2005-03-18 14:14:09 -05:00
James Laird
349ca8daa9 [svn-r10234] Purpose:
Added Packet Table to high-level APIs

Description:
The Packet Table is an API that allows the user to append records
("packets") to a table, and read the back again.  It supports
fixed-length records with a defined datatype and variable-length
records.  It also supports a "current record" index to track the
user's position in the table.

Solution:
The Packet Table code lives in hl/src, and its tests in hl/test.
Some code is shared between the H5TB table and the H5PT Packet Table
in the form of functions in H5HL_private.c.
Some documentation exists for a previous version of the API.  Updated
documentation and C++ wrapper API coming soon.

Platforms tested:
sleipnir, eirene, copper, modi4
2005-03-18 12:19:36 -05:00
Quincey Koziol
f7ee415cdb [svn-r10231] Purpose:
Bug fix

Description:
    Opening an object in a group that is located in a file which has been
unmounted would cause a core dump. :-(

Solution:
    Re-arrangement internal code to compute internal "user" and "canonical"
names for the newly opened object in a safer way.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-03-17 21:56:01 -05:00
Quincey Koziol
ba50d969c6 [svn-r10230] Purpose:
New feature

Description:
    Add in support for deleting entire block tracker.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-17 19:33:17 -05:00
Quincey Koziol
b5ebea64d0 [svn-r10229] Purpose:
Update comments

Description:
    Correct some minor errors in comments/error strings.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-03-17 15:48:45 -05:00
Raymond Lu
9525ac98d3 [svn-r10228] Purpose: New way to do conversion test between floating-point numbers.
Description:  The 4th step of change conversion test.  This checkin is only for
conversion between floating-point numbers.

Solution:  The source buffer of floating-point number is filled up in the same
way described in the 3rd step(revision 1.155).

Platforms tested: h5committest and fuss.
2005-03-16 11:11:14 -05:00
Elena Pourmal
c5e8dc74c5 [svn-r10220] Purpose: Minor bug fix
Description: h5jam and h5unjam used old names jam and unjam while
             printing help message

Solution: fixed

Platforms tested: heping

Misc. update:
2005-03-15 15:14:24 -05:00
Raymond Lu
04b7826ed1 [svn-r10218] Purpose: Bug fix
Description:  This commit is actually revision 1.155, which is the 3rd step of
changing conversion test.  It's for conversion from floating-point to integer.

In this step, 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.

There're also fixes in config/hpux11.00 for kelgia where default macro table
size wasn't big enough to handle the big macro in dtypes.c.


Platforms tested: h5committest and kelgia.
2005-03-15 11:31:48 -05:00
James Laird
d1f8a1e1a9 [svn-r10217] Purpose:
Bug fix

Description:
Fix a typo in my last checkin.  Should make some compilers happier
about "operand types."

Platforms tested:
sleipnir, heping, kelgia
2005-03-15 10:15:40 -05:00
James Laird
d1d9335d7a [svn-r10216]
Purpose:
Bug fix

Description:
Calling H5Iobject_verify on an invalid type of ID (e.g., H5I_BADID) triggers
an assert.

Solution:
Test for this condition and return an error instead of an assert.
Added tests for this case.

Platforms tested:
sleipnir (minor change)
2005-03-14 18:02:21 -05:00
James Laird
fbcc3e84c0 [svn-r10215] Purpose:
Configure feature

Description:
On some platforms with some compilers, automake's dependency tracking
is silently disabled.  This can be confusing for developers.

Solution:
Set configure to enable dependencies all the time unless the user
explicitly disables them (using the configure flag
--disable-dependency-tracking) or a site file overrides the default
(as is the case on IRIX).

Platforms tested:
sleipnir, mir
2005-03-14 15:35:55 -05:00
Binh-Minh Ribler
49fa4563ef [svn-r10212] Purpose: Added more wrappers
Description:
    Added the following to the C++ library
        + overloaded functions:
                string CommonFG::getObjnameByIdx(hsize_t idx)
                H5T_order_t AtomType::getOrder()
        + wrappers for H5*close
        + wrappers for H5Arename, H5Aget_storage_size, and H5Dget_storage_size

Platforms tested:
    Linux 2.4 (heping)
    AIX 5.1 (copper)
    SunOS 5.8 64-bit (sol)
2005-03-14 14:32:26 -05:00
MuQun Yang
7e6577fdea [svn-r10208] Purpose:
Collective chunk IO configuration

Description:
Forgot adding H5config.h.in to the CVS tree.

Solution:

Platforms tested:
Copper, heping

Misc. update:
2005-03-14 09:30:01 -05:00
Leon Arber
161914eda1 [svn-r10207] Purpose:
Bug fix

Description:
Typo in #ifdef to check for snprintf functionality.

Solution:
That should have been H5_VSNPRINTF_WORKS.

Platforms tested:
heping, modi4

Misc. update:
2005-03-13 19:22:35 -05:00
Leon Arber
82b3a0ca4a [svn-r10206]
Purpose:
Bug fix.

Description:
ph5diff fails on modi4 due to the way snprintf works on IRIX.

Solution:
The C99 standard says that, if there isn't enough room in the string,
 snprintf should return the number of characters that
would have been written to the output string if there were enough room.

The snprintf on modi4 would return the number of characters that is was able to write
succesfully to the string if space ran out. The ph5diff logic that checks if
the output buffer was full did not handle this sort of return value correctly.

Used  VSNPRINTF_WORKS from configure test to check how snprintf works and do
the logic accordingly.

Platforms tested:
modi4

Misc. update:
2005-03-13 18:38:11 -05:00
MuQun Yang
c33f593665 [svn-r10204] Purpose:
Provide a way to warn users on the usage of collective IO because of
potential MPI-IO bugs for some platforms.
Also provide a way for users to give us feedback if the vendor has
already fixed the problem so that we can turn off the hard-code macro
in our configure description file.

Description:
See above.


Solution:
Use a simple MPI complicated derived datatype program to check
whether derived data type works for this MPI-IO package.
Print out some messages to warn users if not working as we had expected.

Platforms tested:
AIX 5.1(copper) and Linux 2.4(heping)

Misc. update:
2005-03-11 17:18:45 -05:00
Quincey Koziol
5420387976 [svn-r10203] Purpose:
New feature/tests

Description:
    Add better support & tests for removing blocks being tracked.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 17:18:35 -05:00
MuQun Yang
cfc77c0d78 [svn-r10202] Purpose:
Hard code IBM platform so that the irregular collective IO won't call
MPI derived data type.

Description:
IBM MPI-IO has a bug for MPI derived data type.

Solution:

Platforms tested:
copper(AIX,mpcc_r) and heping(Linux, mpich)

Misc. update:
2005-03-11 17:13:27 -05:00
MuQun Yang
74efc1e4f5 [svn-r10201] Purpose:
IBM MPI-IO has a bug for MPI derived data type, which is used
to support collective IO. In order to avoid this, we provide
a way to turn off collective IO support for this kind of platform.


Description:
Using a new macro called H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS
to turn off irregular hyperslab collective IO support at such platforms.

Solution:
Hard code such platforms under hdf5/config.
So far only IBM AIX has been found to have such problems.

Platforms tested:

heping (Linux) and copper(Aix). Testing at tungsten now, however, it
took almost an hour to build parallel HDF5 at tungsten, it is still building. Cannot wait. Have tested this feature at Tungsten a week ago.
Misc. update:
2005-03-11 17:11:05 -05:00
Quincey Koziol
941edeab91 [svn-r10199] Purpose:
New feature

Description:
    Add basic block removal feature

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 16:14:52 -05:00
Quincey Koziol
df886c57fc [svn-r10198] Purpose:
New feature

Description:
    Handle merging new blocks with existing blocks

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 14:21:04 -05:00
Quincey Koziol
46b9fb5081 [svn-r10196] Purpose:
Code cleanup

Description:
    Actually use the new error code defined... :-)

Platforms tested:
    None, too minor to require re-test.
2005-03-11 09:09:20 -05:00
Quincey Koziol
fcb67f0e86 [svn-r10195] Purpose:
New feature

Description:
    Add feature to modify an existing record in a B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-11 09:05:32 -05:00
Raymond Lu
d903bca3cf [svn-r10194] Purpose: Roll back change made last time
Description:  Reverse the 3rd step of change just checked in yesterday(revision 1.155) because of some errors
in daily test.  Use the revision 1.154 for now until the problem is fixed.


Platforms tested:  fuss - simple rolled back to previous revision.
2005-03-11 08:21:48 -05:00
Quincey Koziol
42e2b828d0 [svn-r10193] Purpose:
Add block tracker files.
2005-03-11 07:54:07 -05:00
Quincey Koziol
fb0a958aec [svn-r10192] Purpose:
New tests

Description:
    Add some validity tests for rejecting overlapping blocks

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:42:46 -05:00
Quincey Koziol
0813413a78 [svn-r10191] Purpose:
New tests

Description:
    Add some internal validation routines and make certain that the max & min
block sizes get tracked accurately, at least for a simple series of insertions

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:34:06 -05:00
Quincey Koziol
330a3f1fcb [svn-r10190] Purpose:
New feature

Description:
    Add query for the total size of blocks tracked

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 23:01:49 -05:00
Quincey Koziol
da3eeee908 [svn-r10189] Purpose:
New feature & bug fix

Description:
    Support inserting multiple blocks

    Start tracking the metadata about the blocks.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 22:45:56 -05:00
Quincey Koziol
331e8bf9ae [svn-r10188] Purpose:
Bug fix

Description:
    Correct the native record size.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 22:43:10 -05:00
Quincey Koziol
45a16682e2 [svn-r10187] Purpose:
Code cleanup, mostly

Description:
    Remove remaining TBBT error info

    Add new error code for block tracker

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:33:09 -05:00
Quincey Koziol
4d86e9e8b8 [svn-r10186] Purpose:
New feature

Description:
    Add basic code to insert blocks into block tracker.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:30:53 -05:00
Quincey Koziol
46dcfc7a49 [svn-r10185] Purpose:
New feature & bug fix

Description:
    Allow NULL 'op' for find operations to easily query the existance of a
record for a key during H5B2_find() operations.

    Fix H5B2_neighbor() to work properly with empty B-tree

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Solaris 2.9 (shanti)
2005-03-10 21:27:59 -05:00
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