Commit Graph

2355 Commits

Author SHA1 Message Date
Quincey Koziol
a4c0ed0374 [svn-r9433] Purpose:
Bug fix

Description:
    Fix core dump when flushing a file with a newly created attribute which
hasn't had a value written to it still open.

Solution:
    Write the attribute fill value when appropriate.

Platforms tested:
    FreeBSd 4.10 (sleipnir)
    Linux 2.4 (verbena)
    Solaris 2.7 (arabica)
2004-10-18 22:31:11 -05:00
Leon Arber
24cb7fe160 [svn-r9430] Purpose:
Bug fix.

Description:
The windows compiler apparently cannot convert from unsigned long long to
double.  This conversion is necessary for the data transform to work properly
in some cases.

Solution:
Added #ifdef to check for windows and issue error when user attempts to do a
data transform on a long long type.

Platforms tested:
sol + eirene
2004-10-18 17:46:04 -05:00
Leon Arber
f86b69ffb3 [svn-r9422] Purpose:
Description:
Code optimization and refactoring.
Added support for llong, ullong, and ldouble

Solution:
Significantly cut down on the amount of code required to do the transform,
while making the operations more efficient.

Platforms tested:
sol + eirene
2004-10-14 14:55:29 -05:00
Quincey Koziol
f102816b0f [svn-r9413] Purpose:
Code cleanup

Description:
    Fix a couple of return values from NULL -> FAIL.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-10-12 15:59:32 -05:00
Quincey Koziol
ba39f35a63 [svn-r9400] Purpose:
Code cleanup

Description:
    Minor code cleanups and tweaks.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    Linux 2.4 (verbena) w/fortran
    Otherwise, too minor to require full h5committest
2004-10-11 21:11:36 -05:00
Quincey Koziol
458576c826 [svn-r9375] Purpose:
Bug fix

Description:
    Close a couple of memory leaks

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Solaris 2.7 (arabica) w/purify
    Linux 2.4 (verbena)
    too minor for h5committest
2004-10-06 11:35:18 -05:00
Leon Arber
aa67cc1c25 [svn-r9368] Purpose:
Rewrote H5Z_xform_eval_full such that it no longer "returns an aggregate"

Added support for CHAR, LONG, ULONG, DOUBLE, SHORT, USHORT, UCHAR, SCHAR, and
UINT to the data transform.  Support for LLONG and ULLONG to be added shortly.

Description:

Data transforms can now operate on arrays with the native types listed above.

Platforms tested:
sol + eirene

Misc. update:
2004-10-05 17:43:14 -05:00
Raymond Lu
d595bab80e [svn-r9366]
Purpose:  feature change

Description:  Prevent creating datatype of size 0.


Platforms tested:  fuss(simple change)
2004-10-05 13:36:03 -05:00
Raymond Lu
7ba45c05b3 [svn-r9364]
Purpose:  change feature

Description:  Back up support bitfield and time datatypes in H5Tget_native_type.Leave it to future support.  Let it return "not supported" error message for
now.


Platforms tested:  h5committest and fuss.

Misc. update:  RELEASE.txt
2004-10-05 09:31:14 -05:00
Quincey Koziol
74a448d084 [svn-r9358] Purpose:
Bug fix

Description:
    Relax restrictions on parallel I/O to allow compressed, chunked datasets
to be read in parallel (collective access will be degraded to independent
access, but will retrieve the information still).

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    IRIX64 6.5 (modi4)
    h5committest
2004-10-04 15:29:31 -05:00
HDF Admin
e2f3ab0ab0 [svn-r9357] Snapshot version 1.7 release 39 2004-10-03 04:03:09 -05:00
Quincey Koziol
7af838b69c [svn-r9354] Purpose:
Bug fix & code cleanup

Description:
    More dataset cleanups to get to a point where we can fix the chunked I/O
bug.

    Also fix a couple of errors in the recent file object resurrection changes
which should hopefully address the recent daily test failres (H5T.c)

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    h5committest
2004-10-01 18:00:42 -05:00
Raymond Lu
753190f8c1 [svn-r9350] *** empty log message *** 2004-10-01 13:28:18 -05:00
Quincey Koziol
7d457ba693 [svn-r9342] Purpose:
Bug fix/code cleanup

Description:
    Clean up raw data I/O code to bundle the I/O parameters (dataset, DXPL ID,
etc) into a single struct to pass around through the dataset I/O routines,
since they are always passed together, until very near the bottom of the I/O
stack.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    Solaris 2.7 (arabica)
    IRIX64 6.5 (modi4)
    h5committest
2004-09-29 22:46:58 -05:00
Quincey Koziol
d0abb4a760 [svn-r9333] Purpose:
Bug fix

Description:
    Fix another couple of int <-> pointer checks.

Platforms tested:
    AIX 5.1 (copper)
    Too minor to require h5committest
2004-09-28 14:54:12 -05:00
Quincey Koziol
2dab610c43 [svn-r9332] Purpose:
Bug fix

Description:
    Correct assertion to check pointer value correctly.

Platforms tested:
    AIX 5.1 (copper)
    too minor to require h5committest
2004-09-28 14:45:28 -05:00
Quincey Koziol
85597e5cc7 [svn-r9330] Purpose:
Bug fix

Description:
    Another attempt to fix the address overflow in the core VFL, hopefully one
that works on 64-bit platforms.

Platforms tested:
    AIX 5.1 (copper)
2004-09-28 14:07:01 -05:00
James Laird
5c0011a713 [svn-r9329]
Purpose:
Feature

Description:
Datatypes and groups now use H5FO "file object" code that was previously
only used by datasets.  These objects will hold a file open if the file
is closed but they have not yet been closed.  If these objects are unlinked
then relinked, they will not be destroyed.  If they are opened twice (even
by two different names), both IDs will "see" changes made to the object
using the other ID.
When an object is opened using two different names (e.g., if a dataset was
opened under one name, then mounted and opened under its new name), calling
H5Iget_name() on a given hid_t will return the name used to open that hid_t,
not the current name of the object (this is a feature, and a change from the
previous behavior of datasets).

Solution:
Used H5FO code that was already in place for datasets.  Broke H5D_t's, H5T_t's,
and H5G_t's into a "shared" struct and a private struct.  The shared structs
(H5D_shared_t, etc.) hold the object's information and are used by all IDs
that point to a given object in the file.  The private structs are pointed
to by the hid_t and contain the object's group entry information (including its
name) and a pointer to the shared struct for that object.
This changed the naming of structs throughout the library (e.g., datatype->size
is now datatype->shared->size).  I added an updated H5Tinit.c to windows.zip.

Platforms tested:
Visual Studio 7, sleipnir, arabica, verbena

Misc. update:
2004-09-28 14:04:19 -05:00
Quincey Koziol
a841ea3529 [svn-r9327] Purpose:
Bug fix.

Description:
    Fix off-by-one error in Core VFL driver which would cause spurious address
or size overflow errors when an odd valued address or size was checked.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (heping)
    Solaris 2.7 (arabica)
2004-09-27 23:34:38 -05:00
Quincey Koziol
3f2fb8bed1 [svn-r9322] Purpose:
Bug fix

Description:
    Fix situation where deleting a chunked datasets with B-tree nodes that
weren't in the metadata cache would die with a core dump.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (heping)
    Solaris 2.7 (arabica)
2004-09-27 13:06:11 -05:00
HDF Admin
643811be02 [svn-r9321] Snapshot version 1.7 release 38 2004-09-26 04:47:53 -05:00
Leon Arber
41440bc2dc [svn-r9314] Purpose:
Bug fix

Description:
Fix for small memory leak that occurs when destroying the data transform
property.  Forgot to free the array of pointers to the temorary data.

Solution:
Freed memory.

Platforms tested:
sol + eirene

Misc. update:
2004-09-23 10:43:54 -05:00
Quincey Koziol
9fc48a0097 [svn-r9312] Purpose:
Bug fix.

Description:
    Allow I/O to occur on 0 element selections.

Platforms tested:
    h5committest
2004-09-22 22:05:15 -05:00
Quincey Koziol
f235187dba [svn-r9310] Purpose:
Code optimization

Description:
    Avoid performing a check on the number of objects in a group (which
currently involves iterating over all entries in the group's B-tree) before
calling H5G_get_obj<foo>_by_idx.  Instead, just have H5G_get_obj<foo>_by_idx()
notice when you've walked off the end and return fail then.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committest
2004-09-22 15:01:27 -05:00
Albert Cheng
9d9621ef0c [svn-r9297] Purpose:
Bug fix.

Description:
Code would attempt to Calloc with zero count when a simple expression
that has no x term.  That resulted in NULL for some platform (like AIX).
That appeared as a failure treated as out of space.

Solution:
Checked if count is larger than 0 before making the calloc request.

Platforms tested:
Tested in copper (pp) where the failure appeared.  Also in eirene
as double check.  No h5committest as the change is trivial.
2004-09-21 20:18:47 -05:00
John Mainzer
30f2ba6e07 [svn-r9273] Purpose:
Port fix of parallel I/O mode confusion bug from the 1.6 tree to the 1.7 tree.


Description:

Collective I/O is not supported for point selections.  Thus when some
processes attempted I/O with point selections, and others without, some
attempted collective I/O while others did independent I/O.


Solution:

Arranged for all processes to compare notes before starting I/O, and
for all to use independent I/O if any one of them can't do collective
I/O.


Platforms tested:

copper
h5committested
eirene (parallel)

Misc. update:
2004-09-18 16:29:41 -05:00
Albert Cheng
6b2e47d974 [svn-r9271] Purpose:
Update for the new API, H5Pget_data_transform.

Platforms tested:
Copper only.  No h5committest since this is trivial.
2004-09-17 17:01:45 -05:00
Leon Arber
0df4bee931 [svn-r9267] Purpose:
Added H5Pget_data_transform
Added support for polynomial data transforms

Description:
There is now support for polynomial data transforms (ie, (2+x)*(x-5)) instead
of just linear ones.

Note that, in order to compute a polynomial transform, one temporary copy of
the original data must be stored for each occurence of "x" in the transform
expression.  This can result in very high memory usage for expressions of high
order.

Platforms tested:
sol + eirene

Misc. update:
2004-09-16 13:11:31 -05:00
Quincey Koziol
b73f323059 [svn-r9250] Purpose:
Bug fix

Description:
    Correct typedef for dataset region references to avoid struct alignment
issues on Crays.

Solution:
    Change the typedef for hdset_reg_ref_t from a struct to an array of
unsigned char's of the correct size and propagate the appropriate adjustments
around the code.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Linux 2.4 (verbena) w/fortran
    Cray T90 (subzero) w/fortran
    Cray SV1 (wind) w/fortran & parallel
    Cray T3E (cyclone) w/fortran & parallel
2004-09-14 00:04:25 -05:00
HDF Admin
147951e4bb [svn-r9243] Snapshot version 1.7 release 37 2004-09-12 04:05:05 -05:00
Quincey Koziol
eb3e9ccd8a [svn-r9234] Purpose:
Code cleanup

Description:
    Tweak recent "forward compatibility" changes to the H5E* API (which allowed
for the old H5E API functions to remain unchanged) by allowing for the error
stack callback function (H5E_auto_t) to also remain unchanged from the 1.6
branch.  This required changing the H5E{get|set}_auto routines to have the
old style H5E_auto_t type (which didn't have a stack ID parameter) and the new
H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which
has a stack ID parameter).  This should make the H5E API changes as forwardly
compatible as possible.
    One side-affect of this change was that it was impossible to determine if
the current auto error callback was the old style (H5E_auto_t) or the new style
(H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was
adde to query this.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committest
2004-09-08 21:37:02 -05:00
Pedro Vicente Nunes
2ef1d47a76 [svn-r9218] Purpose:
bug fix

Description:

The H5O_mtime_decode function was not handling properly the case for the
Code Warrior compiler



Solution:

Platforms tested:
Code Warrior

Misc. update:
2004-09-07 14:44:18 -05:00
Pedro Vicente Nunes
0424d72fc1 [svn-r9212] Purpose:
bug fix

Description:

on the Cray SV1 an INT type was wrongly converted to a SHORT type
by the get_native_integer function

Choose the type based on the precision; this is to support cases
like the Cray SV1, where the size of short is 8 but precision is 32
 (e.g an INT (size 8, prec 64) would be converted to a SHORT
    (size 8, prec 32) if the size was the deciding factor)



Solution:

Platforms tested:
linux
solaris
aix

Misc. update:
2004-09-07 11:41:59 -05:00
HDF Admin
cfd312161f [svn-r9209] Snapshot version 1.7 release 36 2004-09-05 04:07:33 -05:00
Raymond Lu
922e8a4a8b [svn-r9208] Purpose: Bug fix
Description:  A few items were left out when tried to restore the old Error API.
There are also a few minor bug fixes.


Platforms tested:  arabica fuss h5committest.
2004-09-04 16:06:48 -05:00
Pedro Vicente Nunes
bd6857eab6 [svn-r9203] Purpose:
bug fix


Description:

Description:
the dataset region reference data was not portable between the Cray T3E and other machines




Solution:
this was due to the fact that the  buffer to store the heap ID and index was using a sizeof(int) for its
size


 4 is used instead of sizeof(int) to permit portability between
   the Crays and other machines (the heap ID is always encoded as an int32 anyway)




Solution:

Platforms tested:
linux
aix
solaris



Misc. update:
2004-09-03 14:27:40 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
Albert Cheng
e2fa9d8da4 [svn-r9172] Purpose:
"bug fix" sort of.

Description:
The current mpicc at TG-NCSA recognizes uint64_t but not
int64_t.  hdf5 code rightly assumes when the unsigned type
is defined, the corresponding signed type should be valid
too.  So, when it detected uint64_t is valid, it went ahead
using int64_t which ended in compiling failure.

Solution:
Changed the detection to check on int64_t instead.  This does
not change any logic, just goes around the mpicc compiler error
at TG-NCSA.

Platforms tested:
h5committested and tested at TG-NCSA (pp) too.

Misc. update:
2004-08-27 13:36:46 -05:00
Quincey Koziol
22d00ce23f [svn-r9155] Purpose:
Bug fix (sorta)

Description:
    Change reading of "missing" chunks from datasets with undefined fill
values to not overwrite the application buffer with random garbage from
memory.  Note that this is almost the same, since whatever garbage the
application had in those locations will still be there...

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    IRIX64 6.5 (modi4)
    h5committested
2004-08-25 03:30:32 -05:00
Elena Pourmal
0a965d2236 [svn-r9154]
Purpose: Maintenance/bug fixes (OSF1 C++ and missing Fortran APIs)

Description: bringing 1.6 changes to 1.7

Solution:

Platforms tested: OSF1, Solaris 2.8, AIX5.1

Misc. update:
2004-08-24 22:44:59 -05:00
HDF Admin
93c167f3ff [svn-r9134] Snapshot version 1.7 release 35 2004-08-22 04:06:16 -05:00
Raymond Lu
3ac10b282b [svn-r9117] Purpose: Minor Bug Fix
Description:  In H5O_fill_new_decode and H5O_fill_new_encode, UINT32DECODE and
UINT32ENCODE were used to decode and encode message size, which is ssize_t.

Solution:  Change to INT32DECODE and INT32ENCODE.

Platforms tested:  fuss - very simple change.

Misc. update:
2004-08-19 09:26:46 -05:00
Raymond Lu
da6b493330 [svn-r9108] Purpose: Bug fix
Description: In H5O_fill_new_decode, it tries to read message size(-1) when
fill value is undefined for version 1.  During UINT32DECODE, if the machine is
64-bit, a value 0x00000000ffffffff is returned, which is like a valid value.

Solution: If fill value is undefined, don't read the message size, simply
assign -1 to it.

Platforms tested:  fuss - did h5committest for v1.6 already.
2004-08-18 14:05:40 -05:00
Quincey Koziol
2d3c6215f2 [svn-r9101] Purpose:
Bug fix

Description:
    1 - Dataset contiguous storage cache information had a bug where it was
possible to try to access invalid cache information if the cache wasn't filled
the first time it attempted to loop through the list of offset/length vectors.

    2 - Additionally, the contiguous storage cache information was being used
in certain circumstances from the chunked dataset I/O code path, which was
generally fatal since the chunk storage and contiguous storage information
were stored together in a union.


Solution:
    1 - Avoid special case of first trip through loop over offset/length
I/O vectors and always check for the contiguous storage sieve buffer buffer
being NULL.

    2 - Change the union containing the chunk and contiguous storage cache
information into a struct, allowing both to be used at the same time.


Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committested
2004-08-17 02:30:18 -05:00
HDF Admin
02ae88e353 [svn-r9089] Snapshot version 1.7 release 34 2004-08-15 04:05:47 -05:00
Robert E. McGrath
c58e0caeba [svn-r9066] Purpose:
Bug.  See other checkin.

Description:

Solution:

Platforms tested:

Misc. update:
2004-08-11 12:48:19 -05:00
Quincey Koziol
6ae26dba82 [svn-r9053] Purpose:
Bug fix

Description:
    Correct possible core dump when a datatype conversion function is
registered with the library after a compound datatype has been converted
(having it's type conversion information cached by the library).  The compound
datatype must have been created by inserting the fields in non-increasing
offset order to see the bug.

Solution:
    Re-sort the fields in the compound datatypes before recalculating the
cached information when performing the conversion on them.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    h5committested
2004-08-08 17:12:18 -05:00
HDF Admin
51bdf6c34d [svn-r9052] Snapshot version 1.7 release 33 2004-08-08 04:47:51 -05:00
Quincey Koziol
e3c46f3eef [svn-r9037] Purpose:
Code cleanup/bug fix

Description:
    Check for _O_BINARY being defined instead of O_BINARY, since we actually use
_O_BINARY.  (Note that this only affects Windows)

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Not tested w/h5committest
2004-08-06 14:05:20 -05:00
Quincey Koziol
14cc705352 [svn-r9024] Purpose:
Bug fix

Description:
    Correct buffer overrun in "multi" VFL driver that was writing past the
end of the "driver name" buffer when encoding the driver info block for the
file's superblock.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    Too minor to require h5committest
2004-08-05 13:44:27 -05:00