| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Omnibus floating-point bug fix changes
Description:
There are a number of problems in the floating-point conversion code that
were exposed by Ray's recent int<->float checkin:
- The 'my_isnan' code in test/dtypes.c was broken and would always return
true. The meant that the actual values in the float<->float conversion
tests were _never_ checked, hiding the other bugs included in this
checkin.
- A recent change I made to the type conversion code used "FLT_MIN" instead
of "-FLT_MAX" for the most negative 'float' value for the double->float
conversion, which meant that any the negative number that was converted
from a double to a float would have been mapped to zero, essentially.
- A change that Robb appeared to have made ~2.5 years ago to the "generic"
float->float conversion routine appears to be incorrect and I've backed
it out.
- Floating-point conversions on SGI's which converted denormalized values
would be mapped to zero instead of being propertly preserved in the new
type. This was addressed by an SGI-specific system call to prevent the
behavior.
Solution:
Described above, generally.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Misc. update:
release_docs/RELEASE update forthcoming...
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Our previous "optimization" of metadata writing which only wrote metadata
from one process was abusing MPI-I/O and after some consultation with Rob Ross
and Rajeev Thakur, Albert & I have come up with a solution...
Solution:
Instead of only writing from one process, issue a collective write
operation with all processes, for metadata writes.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
The new routines added for H5MM_[m|c]alloc were causing the function
stack code to infinitely recurse while allocating room for the thread-specific
information (when thread-safety was turned on).
Solution:
Call HDmalloc directly instead of H5MM_malloc
Platforms tested:
FreeBSD 4.9 (sleipnir)
Changed are not tested in h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Variable length strings and sequences with NULL pointers were not handled
by library, causing problems access the data. This also affected fill values
for variable-length datatypes.
Solution:
Address the issues in the library by detecting NULL sequences/strings
and avoid trying to convert them.
Patched up dumper to display NULL sequences/strings.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
Skip over situation where malloc(0) might occur.
Platforms tested:
IBM p690 (copper)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & code cleanup
Description:
Allowing the library to call malloc with a size of 0 bytes causes problems
for some users, so we check for allocations of 0 bytes and disallow them now.
Cleaned up some code which could call malloc with 0 size.
Changed some code calling HDmalloc directly to call H5MM_malloc(), which
allows us to check for 0 sized allocations.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Make --disable-hsizet work properly again by fixing a couple of tests and
correcting the definition of SSIZET_MAX.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest not used, as it doesn't test this configuration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Improved integer & floating-point datatype conversions by removing some
corner cases. Got rid of algorithm which walked the buffer of elements to
convert backwards, switching to algorithm which computes the non-overlapping
space in the buffer and repeatedly converts it in the forward direction.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Cray SV1 & T3E (T90 is not accessible)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Don't check the number of szip parameters set during the "can apply" and
"set local" callbacks, be safe about setting the parameters instead.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Warning cleanup
Description:
Make a parameter 'const' to clean up a warning during compiles.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup & simplification
Description:
Replace [non-working] code in routine to build up an MPI derived type for
a hyperslab selection that was supposed to "flatten" out contigous blocks with
code that uses a selection iterator (which _does_ have working "flattening"
code).
Remove "contiguous hyperslab" code for MPI selections as it is unnessary
now.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o parallel
Linux 2.4 (verbena) w/FORTRAN & C++
Solaris 2.7 (arabica) w/64-bit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & code cleanups
Description:
Change our use of MPI derived datatypes to not create datatypes with
"0-sized" lengths, which causes the LANL Q machine to hang.
Also, get rid of "prefer MPI derived datatypes" environment variable since
it has no advantage.
Platforms tested:
FreeBSD 4.9 (sleipnir) w & w/o parallel
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Untwist the last few sections of code before starting on fixing the
problems with reading off the end of the file in earnest.
Platforms tested:
FreeBSD 4.9 (sleipnir)
FreeBSD 4.9 (sleipnir) w/parallel
h5committest not necessary - parallel only changes
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
More collective/independent cleanups to straighten out code contortions.
Platforms tested:
FreeBSD 4.9 (sleipnir)
FreeBSD 4.9 (sleipnir) w/parallel
Linux 2.4 (verbena) w/fortran & C++
Solaris 2.7 (arabica) w/64-bit extensions enabled
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Code was using an internal DXPL with collective I/O turned on during
independent I/O operations to fill dataset on disk.
Solution:
Switched to internal DXPL with independent I/O
Platforms tested:
FreeBSD 4.9 (sleipnir)
FreeBSD 4.9 (sleipnir) w/parallel
Linux 2.4 (verbena) w/fortran & C++
Solaris 2.7 (arabica) w/64-bit extensions enabled
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix serial build
Description:
I accidentally put the "use_par_opt_io" variable in an #ifdef PARALLEL
section.
Solution:
Hoist it out of parallel section
Platforms tested:
Eyeballed it - very trivial
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Straighten out more goofiness in the MPI code dealing with collective I/O
transfers - mostly make certain that a view is set if-and-only-if collective
I/O is occurring on raw data (and vice versa for views and independent I/O)
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
too minor to repquire h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Remove collective parallel I/O checking code, now that it's impossible to
get into this code with collective access enabled.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
More refactoring on setup of MPI-IO parameters: hoisted the code to change
the transfer mode from collective to independent up into the H5D_read and
H5D_write routines, instead of duplicating it inside each of the chunk/contig
read/write routines.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up setup code for collective I/O transfers to make the logic more
obvious.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor for h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Single hyperslab selections (which were set with only one call to
H5Sselect_hyperslab) that had dimensions that could be "flattened" but were
interspersed with dimensions that could not be flattened were not correctly
handled, causing core dumps.
Solution:
Re-work "flattening" code to handle this case properly.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Refactored handlier of VFL drivers in file access and data transfer property
lists in order to simplify and unify the code dealing with them.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Change "H5_HAVE_PARALLEL" to "H5_HAVE_FPHDF5" around VFL ID, to prevent
daily builds from failing.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
too specialized to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Remove the [duplicated] native C9x datatype initializatin code from H5T.c
and let the automatically generated code in H5Tinit.c handle initializing them,
if they are allowed by the compiler.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena, eirene)
probably should be h5committested, but it's late and I'm fairly certain
this will fix the problem... :-/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Avoid "OPAQUE" symbol in template macro invocation, since it's already
defined as a macro on Windows.
Solution:
OPAQUE -> OPAQ
Platforms tested:
FreeBSD 4.9 (sleipnir)
Windows ? (Pedro's machine :-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/refactoring/potential bug fix
Description:
Migrate "template macro" changes from development branch back into this
branch, since they give about a 20% speedup for integer & floating-point type
conversions. The also avoid a potential alignment bug on the Crays...
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest not necessary, since the changes are already verified in the
development branch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
In certain [very rare] circumstances, the object header for a named datatype
can preempt the object header for the dataset using the named datatype, causing
the library to die an ugly death.
Solution:
"Protect" the object header for the dataset (taking it out of the cache)
before getting the information about it's named datatype, avoiding the cache
deadlock.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Windows ? (at Boeing site)
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Changes version to 1.6.1-post0 and updated
RELEASE.txt and HISTORY.txt filese fro the new version.
Solution: N/A
Platforms tested: N/A
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: I run bin/release to create an hdf5-1.6.1 release tar
ball. Now I am checking in modified files before
tagging the release.
Solution: N/A
Platforms tested: N/A
Misc. update:
|
|
|
|
|
|
|
|
|
|
| |
Description: Bumped the version number to 1.6.1-pre2 after creating
a tar ball for the third round of testing
Platforms tested: bin/h5vers -s 1.6.1-pre2 on eirene
Misc. update:
|
|
|
|
|
|
|
| |
Changed version to 1.6.1-pre1 to prepare for release.
Platforms tested:
"h5committested"
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Bumped up the version number after creating a tar ball
for the second round of testing
Solution: N/A
Platforms tested: done with bin/h5vers on eirene
Misc. update:
|
|
|
|
|
|
|
| |
Updated dependencies and tracing information
Platforms tested:
Not necessary.
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Add MPE "color" for new H5Fget_freespace() API function.
Platforms tested:
None - just eyeballed - too minor to require testing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
The 'char *' type is one of the "strongly" aligned types on Crays, but
a 'void *' is "weakly" aligned. So, assigning a 'void *' (pointing to a
location to place a 'char *') to a 'char **' can change the pointer value
during the assignment.
Solution:
Don't alias the 'void *' where the variable-length information ('char *'
or 'hvl_t') will go. Use a temporary variable on the stack to build up the
information about the VL string or sequence and then memcpy() the temporary
variable directly to the location pointed to with the 'void *'
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
specific to Cray problems, h5committest not necessary.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Correct the size of the buffer needed for the destination value to use
the actual destination type size.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
The VL type conversion routine attempt to align it's destination buffer to
an offer that will work for both hvl_t and char * types, but the algorithm used
fails to work correctly on Cray machines.
Solution:
Give up on attempting to align the buffer when it's allocated on the stack.
Just dynamically allocate it instead.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When too many messages were inserted into an object header, the library
had an internal pointer to the "new message" that was pointing to the incorrect
location when the array of messages was re-allocated.
In the worst case, this could cause a file to be corrupted.
Solution:
Update the internal pointer when the array is re-allocated.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Too small to require h5committest
|
|
|
|
|
|
|
|
|
|
| |
Description: Increased version number to 1.6.0-post11 after creating
a tar ball for testing
Platforms tested: eirene
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Feature add
Description:
Add a few new fields to the H5G_stat_t structure, to allow more information
about the object header to be retrieved.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add feature
Description:
Add H5Fget_freespace() routine, to check the amount of free space in a
file. This information is only valid until the file is closed currently,
however (until we start recording the free space information in the file
itself).
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improved algorithm (bug fix, sorta)
Description:
The internal algorithm for adding new IDs in the ID manager code (H5I) was
adding new IDs to the front of the linked list and never adjusting the order
of the items on the list (unless an ID was deleted). If many new objects were
created, they would push earlier ones _way_ down the list (especially if the
objects were being leaked in the application, as they appear to be in the
current HDF-EOS5 library) and would cause O(n) search time for items on the
list.
The ID caching code in the ID manager was avoiding this behavior sometimes,
but it was adding IDs that were looked up to the very tail of the cache and
they would frequently leave the cache before helping.
Solution:
Implemented a "move to front" scheme for the linked list of IDs, which
improves the lookup situation for frequently accessed objects.
Removed ID caching code now, as the "move to front" algorithm actually
works better.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug/feature fix.
Description:
Relax restriction on parallel writing to compact datasets to allow partial
I/O.
Updated reference manual mentioning the issues involved.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fixes and code cleanup
Description:
Lots of changes here:
- Fixed bug #691 - when shared datatypes are used in attributes they
are incorrectly copied into the attribute instead of referring
the the named datatype in the file. This required bumping the
version of the attribute message. The new version of the attribute
message is only written out when a shared datatype is used in
the attribute. [Also, this format change made the size of the
attribute smaller.]
- Added information to attribute debugging routine so that shared
datatypes are displayed correctly with the h5debug tool.
- Refactored the H5O* routines to extract code that was common to
several routines into subroutines to call.
- Added 'link' method for H5O message sub-classes, which increments
the link count on shared objects when a message is created which
shares them.
- Corrected [unreported] bug where the link count was not being
decremented on the shared object when a object header message
with a reference to that object was deleted from the file.
- Reduced size of shared message from 49 bytes (which was incorrect
anyway and should have been 48 bytes) to 10 bytes, which required
bumping the version of "shared" messages.
- Refactored some of the shared datatype routines to allow for easier
queries of "committedness" internally to the library and also
added routine to easily increment/decrement the reference count of
a shared datatype.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
| |
Purpose: Maintenance
Description: Changed version to 1.6.0-post10 after creating a release tar
ball for a Fortran user.
Misc. update:
|
| |
|
|
|
|
|
|
|
| |
Bump version # after creating bugfix snapshot
Platforms tested:
None necessary.
|