Purpose: Bug fix
Description: The third parameter to the h5pget(set)_cache_f subroutines
had a wrong type
Solution: Fixed the type and changed the docs.
Platforms tested: kelgia, arabica 64-bit, copper 64-bit
Misc. update:
Purpose: Rolling over changes from 1.6 branch
Description: h5pget(set)_cache_f functions had a wrong type of the
third parameter
Solution: Fixed the type to be INTEGER(SIZE_T)
Platforms tested: kelgia, arabica 64-bit, copper 64-bit
Misc. update:
Add check
Description:
Added a check to make sure that the "tr" program actually works.
Platforms tested:
Linux (small fix and only to configure)
Misc. update:
Code cleanup
Description:
Change field member count and indices for compound and enumerated types from
'int' to 'unsigned' to better reflect actual use.
Cleaned up a few other minor compiler warnings, etc.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena)
too minor to require h5committest
Bug fix
Description:
"group" errors were not being included in the total # of errors
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Code cleanup
Description:
Cleaned up various compiler warnings
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Code cleanup
Description:
Removed "H5Git" routines, now that there are library routines which perform
the same functionality.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
Update
Description:
Enable the stream-vfd driver by default. --disable-stream-vfd if you
don't want it.
Platforms tested:
Linux (configuration change, no need for full testing)
Misc. update:
Purpose: Bug fix
Description: Parameter rdcc_nelmts of the h5pget_cache_f subroutine
had wrong INTEGER(SIZE_T) instead of INTEGER type.
Solution: Fixed the type
Platforms tested: arabica in 64-bit mode (where INTEGER(SIZE_T) is not
the same as INTEGER)
Misc. update:
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:
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
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Function index formatting
Platforms tested:
IE 5, Safari
Code cleanup
Description:
Added line #'s to a bunch of the error printf's, so it's easier to locate
where an error occurs.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
Bug fix
Description:
The tests recently added for checking a file's freespace and verifying the
new fields added to the H5G_stat_t structure use H5T_NATIVE_INT as the type for
the datasets and attributes they create. Because the tests check explicit file
sizes, this causes problems on Crays, where a native int is 64-bit instead of
32-bit.
Solution:
Change the tests to use H5T_STD_U32LE instead of H5T_NATIVE_INT.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray SV1 (wind)
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)
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Minor copy edits
Platforms tested:
IE 5, Safari
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Corrected link to the F90 subroutine h5rget_object_type_f from the
H5Rget_obj_type function description
Platforms tested:
IE 5, Safari
Feature, sort of.
Description:
Reactivated the big dataset test. Changed it
to default off, can be turned on via -b.
Platforms tested:
Only in Copper which is the only local machine safe to run
mulitple GB size files.
Misc. update:
Code Improvement
Description:
Changed from passing a structure into a function by value into
passing it in by pointer. Noticed this while compiling with a highly
optimizing compiler which took >30 minutes to analyze the program
(granted, this is the compiler's fault, but in general, it's better
to pass large structures in by pointer and not by value).
Platforms tested:
Linux (specific to h5import, so only needed to test on one platform)
Misc. update:
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
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Minor copy edits
Platforms tested:
Safari, IE 5
Bug Fix/Update
Description:
Updated "trace" to include "void**" as a datatype (it sets it to
"x"). Format changes as well.
Added "close(DEPEND); close(NEW);" to the dependencies script. This
was reported by a user that it wasn't doing this.
Platforms tested:
Linux (small changes)
Misc. update:
Purpose:
Alphabetic sort of RM function entries
Additional and modified HTML coding to accomodate HTMLdoc and
automated PDF generation
Description:
Solution:
Platforms tested:
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.
Updates to reference manual mentioning the issues involved are delayed until
reference manual 'lock' is removed later this week.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Bug fixes and code cleanup
Description:
Corrected output of array separator when vlen separator was needed.
datatypes.
Parts of formatting cleanup to greatly reduce the amount of trailing
whitespace emitted in output.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Bug fixes and code cleanup
Description:
Changes to h5dump code:
- Dump shared datatypes for any class of datatype, not just compound
datatypes.
- Cleaned up formatting to greatly reduce the amount of trailing
whitespace emitted in output. Also removed some spurious blank
lines from named datatype output.
Added code to generate named datatype attribute test file.
Added tests for dumping named datatypes in attributes for both DDL and
XML output.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Bug fixes and code cleanup
Description:
Re-worked ohdr test to use modification time messages instead of symbol
table messages, now that the library correctly tries deleting the
local heap and B-trees for the symbol tables (which didn't exist and
caused the test to fail).
Added tests for using named datatypes in attributes to verify that the
reference counts are being tracked correctly, etc.
Platforms tested:
FreeBSD 4.9 (sleipnir)
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
Description: On Linux systems valdrind tool complained about memroy leaks in the
following statements like
if(!a) free(a);
Solution: replaced the statements with
if ( a != NULL) free(a);
Platforms tested: eirene (too small for committest)
Misc. update:
Bug Fix
Description:
The FPHDF5 code couldn't create a dataset then access it. Turns out
that the "O_find_in_ohdr" code was protecting the object header which
pulls it into the cache then unprotecting it. However, this caused
the cache entry to be blown away and THEN we'd try to reread the
entry (via AC_protect) but it didn't have all of the data that the
find_in_ohdr function decodes for us decoded. It was also kind of
unnecessary since we can just protect then call O_find_in_ohdr.
Solution:
Removed the AC_protect and AC_unprotect from O_find_in_ohdr. Called
AC_protect before calling the O_find_in_ohdr function.
Platforms tested:
Linux (Fortran, C++)
IRIX (parallel, Fortran)
Sun (Fortran)
Misc. update: