memory boundary, file block size, and maximal copy buffer size; second in H5FD_direct_write and
H5FD_direct_read, the library checks whether data buffer is aligned. If it is, then write and
read the data directly instead of making a copy buffer.
Daily tests failed for Absoft f95 compiler
Solution:
Failure was due to several typos in H5f90prpto.h file; fixed
I also removed redundant flags from the configration files.
Platforms tested: heping with f95, g95, pgf90; pommier with f95
removed the function H5LTcreate_compound_type from the source directory.
this function was not being used. when it was written, it was meant to be an auxiliary function to be used on the table api, but it never had an usage
commented the H5LTrepack function with the
#ifdef NOT_YET
macro
it is also not being used
Speculatively attempt to read in the entire first chunk in object header
with the object header prefix. If successful (which it is most of the time),
this reduces by 1 the # of I/Os required to read in the object header. Since
the object header typically was taking 2 I/Os, this should cut the number of
I/O operations when opening an object's header in half.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/C++ & FORTRAN
Clean up some object header code in advance of more major changes in the
near future.
Fix small initialization error in attribute message name buffer copy.
Tweak down the default # of messages for new object headers.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Mac OS/32 10.4.8 (amazon)
Previous implementation failed to compile on MAC OS X Tiger 10.4 and AIX 5.2
In previous implementation, each overloaded Fortran function called the same
C function. Since declaration of parameters in INTERFACE block for
C Function differed, some compilers issued warnings but g95 on MAC and AIX
failed to compile.
Solution: Add C wrappers corresponding to each overloaded Fortran function
to call C stub function. This fix should also reduce number of warnings
on IRIX systems.
Platforms tested: MAC OS and AIX 5.2 (copper) with g95;
sol (with Sun compilers), heping with PGI compilers
Bug fix (related to 544)
Description:
h5_get_file_size() was coded to return 0 if failed but
file size can be 0. Changed the failure return value to -1
which is allowed by the returned type of off_t which is a signed
type.
Also changed the checking code of the stat call to just == 0
since that is how it is defined.
Test:
Could test it in heping only. Both Sol and Copper failed to
compiled due to error in the Direct IO VFD code.
Bug Fix (Bug 544)
Description:
SGI Altix's MPI_File_get_size overflowed at 2GB and more.
Replaced h5_mpi_get_file_size calls by h5_get_file_size.
Tested:
Cobalt.
So new flush2 tests generates false failures for DLL version on windows.
Two cases of flush2 tests were skipped temporarily on windows.
The inserted windows macros should be removed when a better solution is found.
Tested on vs6.0 and vs 7.1 and Linux.
Update datasets and the layout, attributes and fill-value
object header messages to use the latest version
of the file format flag.
Tested on:
FreeBSD 4.11 (sleipnir)
Linux/64 2.4 (mir)
Linux/32 2.4 (heping)
option --enable-direct-vfd/--disable-direct-vfd to enable/disable Direct I/O support. The default
is enabled. There's a small test in test/vfd.c. Another way to test it is to set environment
variable HDF5_DRIVER to "direct" and run "make check" in the test/ directory. There'll be some
further improvement in the following checkin including allowing user to provide memory boundary
value, file block size, and copying buffer size.
Tweak down some of the static array definitions for new & re-loaded object
header data structures, to reduce memory use in common cases.
Tested on:
Linux/32 2.6 (chicago)
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)
Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back. (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
Carry those changes into the tests, etc.
Clean up a bunch more compiler warnings.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-1.6-compat
Clean up some compiler warnings and resolve some inconsistenceis between
hsize_t and size_t in the interface.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-1.6-compat
Use calloc() instead of malloc(), in order to fail a bit more gracefully
on errors.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-1.6-compat
Fix error with passing in new root indirect block instead of NULL pointer
to protect of previous root direct block, when converting heap to use a root
indirect block.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-1.6-compat
2. Using H5Dmpio_Debug macro to reflect the debugging information of new parallel IO supports.
They are very minor changes. Tested at heping. t_pflush2 failed. Others passed.
Bug Fix (Bug 544)
Description:
SGI Altix's MPI_File_get_size overflowed at 2GB and more.
Put in a temporary patch to use stat() instead to make Cobalt
passing on this test (bigdset). A better fix (like detect if
MPI_File_get_size does not work before using this is preferred.)
Tested:
Cobalt and Heping.
exposed by that one in which closing a read/write file ID wouldn't flush the
cache if there was another file handle open. This caused problems when the
second file handle was read-only; neither would actually flush the cache.
Now all read/write file handles flush the cache when the close, but only
when the file is going to be destroyed is the cache destroyed. This way
read-only file handles keep the cache open but it is always clean.
Tested on mir, heping, sol, and copper (parallel)
Description: Add a new part to the flush test that checks to see what happens in case a file is flushed, and
then a new dataset is created and the program exits without flushing this subsequent dataset.
The test verifies that, at the very least, the data written out before the H5Fflush call is correct.
Description:
It seems that, on AIX, calling MPI_Finalize without closing all files results in an error.
This causes t_pflush1 to fail because the whole point of the test is to see what happens if you
don't close a file. Try getting rid of the call to MPI_Finalize to see if this will silence the error.
Tested:
AIX (copper)
and quote its arguments. Also checks for the 'socket' library on
Solaris.
If this patch passes the Daily Tests and makes the user happy, I'll
port it back to the 1.6 branch.
Tested on mir and sol.
Finish 'use the latest version of the format' changes to the datatype
object header message. Compound and enumerated types will now be encoded
more efficiently by packing the field names & member offsets better.
Tested on:
Linux 2.6/32 (chicago)
Linux 2.6/64 (chicago2)