Purpose:
Bug Fix
Description:
Fixed so that it will display the correct timing data. It will also
write to the correct file (which it wasn't before).
Solution:
Put the code in for displaying the time. Had to change the way I was
passing an object to the pio_fopen() function from just being a
structure to being a pointer so that the changes could be propagated
back.
Platforms tested:
Linux
Purpose:
Bug Fix
Description:
I wasn't calculating the total time correctly.
Solution:
I had to subtract the previous time from the current time. This
wasn't being done...DOH
Platforms tested:
Linux
Purpose:
Modify H5Fclose behavior
Description:
The HDF5 actual file close behaves in several ways in terms of if there
are still objects(dataset, group, datatype) opened in file.
Solution:
Added a new file access property, file close degree. It has four values,
H5F_CLOSE_DEFAULT
H5F_CLOSE_WEAK
H5F_CLOSE_SEMI
H5F_CLOSE_STRONG
The way a file is closed is decided by these values.
Platforms tested:
IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
Bug Fix
Description:
The file metadata macros generate unaligned access warnings on the IA64
architecture.
Solution:
Got rid of bogus big-endian vs. little-endian differentiation when encoding
and decoding file metadata and use proper set of macros to prevent unaligned
access problems.
This fixes bug #672.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Bug Fix
Description:
The code in H5Sselect_hyperslab_valid contained an fencepost error and is
allowing selections which overlap the extent by exactly one element in any
dimension to pass as valid instead of flagging the selection as invalid.
This bug only affects hyperslabs which have been OR'ed together, not the
selection from a single H5Sselect_hyperslab.
This fixes bug #550.
Solution:
Changed an '>' to an '>=' and added new regression test to check for error.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Purpose:
Small Fixes
Description:
After conversation with Albert, here are some small fixes for the
performance stuff. Not too significant. Though, we did add the
"buffer size" as a parameter I pass to the engine.
Purpose:
Feature Fix
Description:
Added code so that it measures the time it takes to do I/O and return
that to the calling function.
This code doesn't quite work yet. There is something wrong with the
MPI code in the "pio_engine.c" file...I don't know what's up with
it...
Platforms tested:
Linux
Purpose:
Bug Fix
Description & Solution:
In the test for "namespace", we needed to include the "iostream"
header file to remove errors for strict compilers who need iostream
for namespaces. I moved the test for namespace to after the test for
"old header filenames" to make sure that I'm #including the correct
iostream ("iostream" or "iostream.h").
Platforms tested:
Linux
Bug fix
Description:
Cleaned up obvious syntax errors to make it to compile.
Changed unnecessarily unsigned variables to signed to avoid
messy compiler warnings.
Platforms tested:
eirene (parallel)
Bug fix.
Description:
Fix fortran stub for H5P[gs]et_hyper_cache.
Solution:
Made the fortran subs not execute any function calls into the library,
unless v1.4 compatibility is turned on.
Elena will be following this up with a real fix.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
A a build had occurred in the source tree ($CURRENT) and did not
do a distclean, the left over files would interfere with srcdir
build.
Solution:
Added a "make distclean" in the "checkout" option to clean up
the $CURRENT just in case. Not necessarily the most optimal
spot to do the cleaning but convenient.
Platforms tested:
Eirene.
Code cleanup
Description:
Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
library.
Solution:
Removed H5P(g|s)et_hyper_cache API functions, except when backward
compatibility is turned on. When backward compatibility is turned on,
the property is defined by the library, but unused internally.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Purpose:
Expanded descriptions and minor copy edits.
Description:
H5Fcreate, H5Fopen, H5Fclose
Changes stemming from Albert's H5Fxxx proposal
Added IN/OUT designations to parameters.
Minor formatting and copy edits
[Sorry, but "no space left on device" error prevents deletion
of extra blank lines!]
Platforms tested:
IE 5
Backward Compatibility Fix
Description:
One of H5P[gs]et_buffer's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
One of H5P[gs]et_sieve_buf_size's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_sieve_buf_size implementation and
testing to allow v1.4.x users to continue to use their source code without
modification.
There are no C++ or FORTRAN wrappers for these functions.
There are also no regression tests for these functions... :-(
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
One of H5P[gs]et_meta_block_size's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_meta_block_size implementation and
testing to allow v1.4.x users to continue to use their source code without
modification.
There are no C++ or FORTRAN wrappers for these functions.
There are also no tests for these API functions currently... :-(
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
H5Pset_fapl_log's parameters have changed from a simple "verbosity" level
to bit-masked flags to enable various behaviors.
Solution:
Added in v1.4 compat stuff, on the unlikely chance that others are actually
using this code in some production way.
There are no C++ or FORTRAN wrappers for this call.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
Snapshot does "make check" directly, instead of building all
binary first. This means it does not cover code that are not
tested (e.g., example, perform). (That explained why the errors
in the PIO performance code were not reported in daily test but
blew up when people built the library the "normal" way.)
It is done this way so that the snaptest aborts as soon as
the first test failed rather than after all code are compiled.
Solution:
Add "make" (to build all binary) before "make check".
The allows snaptest to fail as soon as the first compiling failure.
If we wish the snaptest to abort on the first test failure, the two
can be swapped as "make check && make ...". (It would appear strange
to run tests then make binary.)
Platforms tested:
Would be tested in the daily test tonight. (I should have tested
it first but I started this commit process already. Sorry.)
Backward Compatibility Fix
Description:
One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Backward Compatibility Fix
Description:
One of H5P[gs]et_cache's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Eliminated warnings
Description:
On IRIX and Windows 98, if a function, that returns a value, throws
an exception in "else" statement, the compiler still complains that
the function doesn't return a value.
Solution:
Replaced:
if (something valid)
return a value
else
throw an exception
with:
if (something invalid)
throw an exception
return a value
Platforms tested:
Windows 98
SunOS 5.7 (arabica)
Linux 6.2 (eirene)
IRIX64 (modi4) - only tested that the warnings went away, still working
on other configuration problems.
Purpose:
Code Cleanup and Feature Add
Description:
Finally checking in the changes I made to the performance code. It
just modularizes it a bit more and performs some more checks, etc. I
also renamed the timer functions to be more inline with how other
things are named here...
Platforms tested:
Linux
Bug fix
Description:
Missing a statement for an else branch when HAVE_GETTIMEOFDAY was defined,
which caused most machines to fail compiling.
Solution:
Re-arranged if/else statement to eliminate problem.
Platforms tested:
FreeBSD 4.4 (sleipnir)
Code cleanup
Description:
Changed the logging file driver to use bitmasked flags for features to
enable, instead of using a verbosity level.
Platforms tested:
Solaris 2.6 (baldric)
Purpose:
Bug Fix
Description:
We needed to support C++ on SP3. Libtool was putting a "-bnso" flag
on the compile line. This was causing the C++ compiler to barf..
Solution:
Removed the line.
Platforms tested:
OSF5.1
Purpose:
a minor bug on H5T.c
Description:
should be HEREUTRN_ERROR(...,...,int,...)
instead of HERUTRN_ERROR(...,...,int*,...)
Solution:
change HERETURN_ERROR(...,...,NULL,...) into HERETURN_ERROR(...,...,FAIL,...)
Platforms tested:
windows 2000
Bug fix
Description:
Moved some executable code out of an assert() and check the results of the
code with an assert().
Platforms tested:
Solaris 2.6 (baldric)
Purpose:
Bug fix
Description:
Somehow I forgot to add DEC compiler directives to the H5Eff.f90
file. Linking failed on OSF 5.1
Solution:
Added necessary compiler directives for name translations.
Platforms tested:
Not tested yet but without this change it would fail.
Bug fix
Description:
Changed return value from "FAIL" to "NULL" for error condition, which was
caused the SGI machines testing the GASS drivers to fail over the weekend.
Platforms tested:
IRIX64 6.5 (modi4)
Bug fix
Description:
Fix typo which caused thread-safe tests to fail over the weekend.
Platforms tested:
IRIX64 6.5 (modi4) with thread-safe code enabled.
Bug Fix
Description:
Replace an 'if' statement taken out in commit earlier today which was
necessary for routing around endian conversions when zero elements were
converted.
Platforms tested:
IRIX64 6.5 (modi4)
Code cleanup
Description:
Windows is generating hundreds of warnings from some of the practices in
the library. Mostly, they are because size_t is 32-bit and hsize_t is
64-bit on Windows and we were carelessly casting the larger values down to
the smaller ones without checking for overflow.
Also, some other small code cleanups,etc.
Solution:
Re-worked some algorithms to eliminate the casts and also added more
overflow checking for assignments and function parameters which needed
casts.
Kent did most of the work, I just went over his changes and fit them into
the the library code a bit better.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Code cleanup
Description:
Added macro to check for overflows when assigning a value to a variable
which requires a cast down in size or precision.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Purpose:
Bug fix
Description:
Error messages were printed to the file and standard output regardless
of the parameters passed to the h5eprint_f function. h5eprintc function
did not close the file with the error output. Fixed.
Platforms tested:
arabica and eirene
Code cleanup (sorta)
Description:
H5_SIZEOF_HSIZE_T was missing from among the definitions we provide for
the variables we declare.
Solution:
Added it.
Platforms tested:
FreeBSD 4.4 (hawkwind)
Bug fix
Description:
A couple more compile problems from the recent elimination of IDs from
internal function calls.
Platforms tested:
IRIX64 6.5 (modi4)
Bug fix.
Description:
Builds for parallel testing exposed some places that I forgot to get rid of
using IDs in internal APIs.
Solution:
Switch sections of code to use proper data structures instead of IDs.
Platforms tested:
Parallel compiles from daily tests.