Code cleanup
Description:
Clean up miscellaneous warnings which have crept into the code.
Fix "_POSIX_C_SOURCE not defined" warning on FreeBSD.
Adjust gcc compiler flags to be more concise for production mode.
Refactor the H5O code so that there is a stronger boundary between code
in the H5O package and code in the library which just calls H5O routines.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) serial & parallel and gcc 2.95.4 & gcc 3.2.2
Misc. update:
Update MANIFEST if you add or remove any file.
Update
Description:
Since metadata doesn't use a "set view" to do I/O, I moved the check
for the use_set_view variable down into the "real" write routine.
Also added a check for when the server is dumping metadata to the
file. in that case, don't write this information to the SAP...
Platforms tested:
Linux
Bug Fix (Bug #806)
Description:
When compiling/installing with the command "make install" (without
performing a "make" beforehand) the tools weren't being made. This
was because the `install' command in the Makefiles only relied upon
public libraries, not private ones (which the one in the tools
directory is).
Solution:
Had the `install' command be dependent upon an "AUX_LIB" macro which
includes libraries which are needed but aren't distributed (that is,
they're staticly compiled).
Platforms tested:
Linux
Update
Description:
Added the flush function.
Modified so that it calls the FPHDF5 code for reading and writing.
This involved splitting the write function up into three different
parts to avoid lame goto's. There's some code which will copy a data
xfer property list and add in there that we're "dumping" the data so
that we can recall this layer when the SAP dumps metadata to a
process...
Platforms tested:
Linux
Update
Description:
Added a "metadata flush" function which allows the clients to force a
dump of the metadata from the SAP. This should be done before closing
the file.
Modified the information stored on an "open" of the file. The
filename is unnecessary, so I got rid of it.
More integration with the File Driver code: Passing in a data xfer
property list.
Platforms tested:
Linux
Purpose:
update windows project files
Description:
Some new files such H5Tcommit.c is added in.
Solution:
windows 2000
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
Bug Fix
Description:
Some of the error conditions in the H5GOTO_ERROR macros were NULL
instead of FAIL.
Solution:
Changed accordingly.
Platforms tested:
Linux
Code cleanup.
Description:
Break up the ~9350 line H5T.c module into smaller pieces, which contain
code for a particular feature or support for a datatype class.
This should make the "main" H5T code (still in H5T.c) easier to support,
as well as removing some of the "minor" routines from the user applications
which don't use them (my rough estimates show about 4% reduction (~30K on
a FreeBSD machine) in optimized, staticly-linked binaries for very simple
programs)
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir)
Misc. update:
Update MANIFEST
Bug fix.
Description:
Missed adding the dxpl to the 'flush' VFL callback in the stream driver,
causing the C++ compiles to fail.
Solution:
Added the dxpl parameter.
Platforms tested:
FreeBSD 4.7 (sleipnir) w/CC=g++
Purpose:
To bring the H5Z_func_t definition from the old User's Guide
into the Reference Manual.
Description:
Added custom filter function H5Z_func_t definition to the
H5Zregister function description.
This definition will next be edited to bring it up-to-date.
Platforms tested:
IE 5
Update
Description:
Folded in Quincey's changes to the caching stuff. (Stole the code
from the H5FDmpio driver).
Roughed in some code for doing a read from the SAP. Also roughed in
code for doing a write. However, the write requires an OID, which I'm
not sure how to pass down into the driver (maybe via the
dxpl_id?...but then it has always to be set before calling one of
these routines...).
Removed some of the global variables which were there because of the
FPHDF5 stuff...
Removed the H5Ofphdf5.* stuff from the Makefile.in, since I'm pretty
sure it's going away and I don't want to waste time updating that
module if that's the case...so just don't compile it.
Platforms tested:
Linux
Fix
Description:
The extra field I put in this structure wasn't needed.
Solution:
Placed it in the file driver's structure instead.
Platforms tested:
Linux
Update
Description:
Removed some obsolete fields - such as the AC_subst_t object ID -
which isn't needed. Fixed so that there are fewer global variables.
There are still some left, however. Modified the client and server
code so that it handles read requests better. There were some flaws
in how this was done before (it was calling H5FD_read() instead of
just returning the status that it couldn't find the metadata in the
cache).
Platforms tested:
Linux
Update
Description:
Added Flexible Parallel HDF5 support to the ending message that
configure spits out.
Reordered a few other of the messages so that they're in alphabetical
order.
Platforms tested:
Linux
Bug Fix
Description:
Metadata cache in parallel I/O can cause hangs in applications which
perform independent I/O on chunked datasets, because the metadata cache
can attempt to flush out dirty metadata from only a single process, instead
of collectively from all processes.
Solution:
Pass a dataset transfer property list down from every API function which
could possibly trigger metadata I/O.
Then, split the metadata cache into two sets of entries to allow dirty
metadata to be set aside when a hash table collision occurs during
independent I/O.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) serial & parallel
Misc. update:
Updated release_docs/RELEASE
Bug fix
Description:
The "system scope" for threads isn't supported on all platforms.
Solution:
Add detection of this feature to the configure script and check for
"H5_HAVE_SYSTEM_SCOPE_THREADS" in the appropriate places.
Platforms tested:
modi4 w/threadsafe
New feature for developers.
Description:
Added "function stack" tracing to library. This allows developers (there
is no public API) to call H5FS_print within the library and get a listing
of the functions traversed to reach that point in the library. Eventually,
I may add support for reporting the parameters to each function also...
Mainly for debugging parallel I/O programs, but I think it will come in
handy in other cases also.
The function stack tracking is controlled with a configure switch:
--enable-funcstack, which defaults to enabled currently. When we branch
for 1.6, we should change the default setting on the branch to be disabled.
Also, added a destructor to the thread-specific keys when thread-safety is
turned on in the library. Otherwise, they were leaking memory and causing
difficult to debug errors in threaded programs (like the test/ttsafe test).
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) w/thread-safety enabled.
Misc. update:
Updated MANIFEST with new files added (src/H5FS.c & src/H5FDprivate.h)
Update release_docs/RELEASE with thread-safety bug fix.
Field Addition
Description:
Added a File ID field to the H5FD_t structure so that, way deep down
in the H5FD_* functions, I'll know what ID the SAP wants for this
particular file.
This is #ifdef'd out so that if you don't have FPHDF5 enabled, then
it won't be there...
Platforms tested:
Linux
Update
Description:
H5FP.c, H5FPclient.c, H5FPprivate.h, H5FPserver.c:
Update. More progression towards the SAP as metadata cache. It
only lacks the ability to take care of metadata allocations.
H5FDfphdf5.[ch]:
Start of a new driver for FPHDF5. Not fully implemented just
yet...
Platforms tested:
Linux
Update
Description:
MANIFEST:
- Added .autom4te.cfg and H5FDfphdf5.[ch] files.
.autom4te.cfg
- When the new versions of libtool/autoconf come out, this file
will help get rid of the annoying autom4te.cache directory.
Platforms tested:
Linux
Update
Description:
version 1.4 has renamed the tool from pio_perf to h5perf.
Folded the chagne into this branch too.
Also updated the Copyright notes.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}? Tested in burrwhite with PP only.
[If no, why not?] It is a pretty straight forward Makefile change.
Update
Description:
Converted the "FUNC_LEAVE" macros to "FUNC_LEAVE_NOAPI" to be
consistent with the rest of the library.
Note: This is probably completely useless as the file is going to go
away with the new model of the SAP as metadata cache...But it helps
me compile...
Platforms tested:
Linux (FPHDF5)
Update
Description:
Added support for defining what the haddr type is in terms of MPI
types.
Solution:
Include some #defines when we typedef haddr...
Platforms tested:
Linux (For FPHDF5 stuff)...
Update
Description:
Changes:
- Added support for the server dumping metadata writes to a
client.
- Some of the code wasn't handling allocated buffers correctly
(freeing twice).
- Modified server so that it handles metadata only.
Platforms tested:
Linux
Update
Description:
Updated the configure scripts. Fortran and C++ didn't have proper
checks for Linux LFS support. Also needed to remove the "-g" flag
from the compile line if --enable-production is set. For that, I took
how it's being done in HDF5 Lite...
Platforms tested:
Linux
bug fix
added more verbose help message
added support for all dataset types
added more error checking
added new output format (28 Jan version )
Platforms tested:
windows , linux
Purpose:
Update H5pubconf.h on both all.zip and all_withf90.zip
Update some project files on all_withf90.zip
Description:
Make H5pubconf.h work for both .Net and 6.0
Update some project files on all_withf90.zip
Currently fortran interface failed on windows, may be handled after 1.4 release.
Solution:
Platforms tested:
windows 2000
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
Update
Description:
This is the first conversion of the FPHDF5 code to be a metadata
cache. There's an extra error message. I rewrote the sync/change code
to be read metadata/write metadata instead.
I still need to hook these changes into the HDF5 code so that it
looks at the SAP first before checking the file for metadata.
Platforms tested:
Linux
Bug Fix
Description:
When calling H5Fopen with the core VFL driver, but without the
H5F_ACC_CREAT flag goes ahead and creates a memory file.
Solution:
Check for the H5F_ACC_CREAT flag before allowing the memory file to be
created.
Platforms tested:
FreeBSD 4.7 (sleipnir)
Update
Description:
Added description of the configure bugfix for people specifying
--with-*=/usr/include,/usr/lib in their scripts during configure...
Bug Fix
Description:
Some compilers were having problems if we included the -I/usr/include
and -L/usr/lib flags which are completely redundant. This could occur
if the user configured with something like:
./configure --with-zlib=/usr/include,/usr/lib
Solution:
Check if the --with-* command is specified with /usr/include and
/usr/lib. If so, then don't place them in the compile macros.
Platforms tested:
Linux, Modi4
Updated
Description:
Updated Copyright notice.
Replaced HGOTO_ERROR calls involving MPI calls with HMPI_GOTO_ERROR.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}? Tested on Eirene (PP) only since
the code is in the MPIO module only.
patch
Description:
Tflops interprets "$@" as "" when no parameter is given (e.g., the
case of missing file name). Changed it to use $@ till Tflops fixes it.
Platforms tested:
Tflops, burrwhite (pp), modi4(pp)