Makefile bug fix
Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.
Solution:
Automake doesn't like having rules for programs it doesn't build. Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all. This should be used mostly for testing and to ensure that
these helper programs compile.
***IMPORTANT***
These programs do *not* currently compile. When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API. This is
an existing "bug" that has simply been exposed by this checkin.
Platforms tested:
sleipnir, modi4, sol
Misc. update:
Avoid bug for family file driver backward compatibility with 1.6.
Description:
Because there is no srcdir on windows, string pathname should be
initialized as NULL before using strcat.
Solution:
Changed the code as above.
Platforms tested:
too minor to test.
Misc. update:
Bug fix
Description:
Check in Kent's fixes to hyperslab rebuilding code that should correctly
detect situation when different sub-hyperslabs exist in a higher dimension.
Solution:
Remember previous sub-hyperslab information and compare that with newly
generated sub-hyperslab to make certain they are the same.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix
Description:
Mark continuation message & chunk as dirty for case where chunk is
extended.
Also refactored code to reduce duplication.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Too minor to require h5committest
Added another case of shell-like style file--if lines leading by #'s
are found, treat it like a shell-like style file.
Platforms tested:
hand tested in heping.
New feature.
Description:
Added code that try to guess what type of file it is by inspecting the
first 5 lines. Then it tries to find the Copyright notice according
to the guess.
Another revamp.
Description:
Now search the copyright notice within the beginning 60 lines only.
(This applies to source code. For HTML files, it is still search
all the way through the file.)
Platforms tested:
Hand tested.
Bug fix
Description:
Some platforms complain that tcp.h is present but cannot be compiled.
Solution:
This is because tcp.h needs in.h to be included.
Checked for netinet/in.h and included it when netinet/tcp.h is being
checked.
Platforms tested:
mir, cu11
Fixed copyright notice.
Description:
A line is missing in the copyright notice. Fixed.
Platforms tested:
No test since it is only a fix in a comment block.
Bug fix
Description:
Fixed config file for apple powerpcs. Should detect xlf more
often (though not infallibly).
Should disable shared libraries when xlf is being used.
Solution:
Since neither xlf nor f95 have "version" options (which could
be used to identify which compiler is being used), the config
file checks if the fortran compiler is named 'xlf' (or /path/xlf).
If not, it assumes the compiler must be f95.
xlf is still the default if no compiler is named at all.
Platforms tested:
pommier (change only to mac-specific config file)
Maintenance on Windows
Description:
hl fortran debug dll tests missed and hl fortran release dll tested twice before
Add in hl fortran debug dll tests and remove one hl fortran release dll test
Solution:
Platforms tested:
Windows XP
Misc. update:
SETUP Was using "cp" command which means file $2 will inherit the permission
setting of file $1. If $1 is read-only, so will $2. That will cause
failure when the test attempts to write it later on. Changed to use
the "cat" command.
Tested in LANL QSC and Flash.
Bug fix
Description:
Fix "double root open" bug and apply same fix to datasets & named datatypes.
Also fix bug in symbol table entry lookup code that would "transfer" an
object from one file handle to another file handle when the two file handles
were opened on the same actual file.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix.
Description:
mpich2 using f95 did not support function 'unlink'.
Removed the unlink call for now. Need a better solution.
Platforms tested:
heping using mpich and mpich2 versions of mpif90.
Misc. update:
Code cleanup
Description:
Clean up & optimize (a little) the recent "hyperslab rebuilding" code
w/Kent.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
bug fix.
Description:
The complex derived datatype test assumed that the fill value would be 0. This is not
the case on all systems.
Solution:
Modified the test to check against a known value in the outbuf array, instead of the fill value.
Platforms tested:
heping and MCR.
Misc. update:
bug fix.
Description:
Fixed typo in a comment. The word "file" was supposed to be "fill." The explanation of
how the complex derived datatype test works is much clearer now.
Solution:
Platforms tested:
minor change.
Misc. update:
bug fix.
Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop. Fixed it by issuing an exit 1 inside
the loop.
There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid. Also, the test script itself
was not checked in the newer lists. All fixed.
Platforms tested:
h5committested and also hand tested in heping pp mode.
Bug fix
Description:
In production builds, H5MM_malloc was undefined in H5AC.c
Solution:
Include H5MMprivate.h in H5AC.c, which defines H5MM_malloc() in
both debug and production modes.
Platforms tested:
h5committested, serial production build on Heping
Misc. update:
revision.
Description:
The copyright notice for Makefile(in) were fixed at the beginning of the files.
But they are now generated by automake and autoconf such that Gnu jams its
own copyright block at the beginning.
Solution:
Changed the rule such that the HDF5 copyright notice can be somewhere else
in the file as long as they are together as one paragraph.
Also added recognition of Makefile.am as a possible MAKEFILE type.
Platforms tested:
Tested by hand in heping.
Repair synchronization bug in the metadata cache in PHDF5
Also repair numerous other bugs that surfaced in testing the
bug fix.
Description:
While operations modifying metadata must be collective, we allow
independant reads. This allows metadata caches on different processes
to adjust to different sizes, and to place the entries on their dirty
lists in different orders. Since only process 0 actually writes
metadata to disk (all other processes thought they did, but the writes
were discarded on the theory that they had to be collective), this made
it possible for another process to modify metadata, flush it, and then
read it back in in its original form (pre-modification) form. The
possibilities for file corruption should be obvious.
Solution:
Make the policy that only process 0 can write to file explicit, and
visible to the metadata caches. Thus only process 0 may flush dirty
entries -- all other caches must retain dirty entries until they are
informed by process 0 that the entries are clean.
Synchronization is handled by counting the bytes of dirty cache entries
created, and then synching up between the caches whenever the sum
exceeds an (eventually user specified) limit. Dirty metadata creation
is consistent across all processes because all operations modifying
metadata must be collective.
This change uncovered may bugs which are repaired in this checkin.
It also required modification of H5HL and H5O to allocate file space
on insertion rather than on flush from cache.
Platforms tested:
H5committest, heping(parallel & serial)
Misc. update:
Code refinement
Description:
Make the re-build hyperslab selection code shorter to be maintained easily
Solution:
Platforms tested:
Sol 2.9, linux 2.4, Aix 5.1
Misc. update:
Feature.
Description:
Added the copyright checking--most settings are temporary. Need
cleanup or fixes when most copyrights notices are completed.
Platforms tested:
Tested by hand.
Maintenance on Windows
Description:
Modify Batch file due to the changes of output of H5diff tool
Solution:
Platforms tested:
MSVS 6.0 on Windows XP
Misc. update:
Code cleanup
Description:
Removed Fortran type sizes from config/* files.
Solution:
These lines weren't doing anything anymore; they've been replaced by automatic
type generation. This is just housekeeping to remove them from
the config/* files.
Platforms tested:
mir, sol, modi4