Bug fix
Description:
The optimized MPI-IO calls, H5S_mpio_spaces_write/H5S_mpio_spaces_read,
are changed for collective data transfer only since they
call H5FD_mpio_setup to do setup to eveually call MPI_File_set_view
in H5FD_mpio_read or H5FD_mpio_write. MPI_File_set_view is a
collective call. Letting independent data transfer use this
route would result in hanging.
Solution:
For now, the checking is being done in
H5D_write and H5D_read before H5S_mpio_spaces_write/H5S_mpio_spaces_read
is called because the checking code in H5S_mpio_spaces_xfer, though with
the right idea, is not correct yet.
Platforms tested:
IRIX64-64 parallel.
Purpose:
Bug fix
Description:
H5S_mpio_spaces_xfer() did not do clean up all the times especially
the MPI_type freeing.
Solution:
Include the MPI_type freeing as part of cleanup code. Replaced
most HRETURN_ERROR(...) with HGOTO_ERROR so that cleanup code
will be executed.
Platforms tested:
IRIX64-64.
Purpose:
Fix a bug caught by debug version of windows 2000 at test_compound_5(struct optimization converter).
Description:
free memory of a variable before checking the result by using that variable.
Solution:
put free(buf) and free(bkg) after the following block:
/* Check results */
if (memcmp(src[1].name, dst[1].name, sizeof(src[1].name)) ||
src[1].tdim!=dst[1].tdim ||
src[1].coll_ids[0]!=dst[1].coll_ids[0] ||
src[1].coll_ids[1]!=dst[1].coll_ids[1] ||
src[1].coll_ids[2]!=dst[1].coll_ids[2] ||
src[1].coll_ids[3]!=dst[1].coll_ids[3]) {
FAILED();
return 1;
}
Platforms tested:
windows 2000 and confirmed at LINUX(eirene).
Purpose:
make mtime test available on windows
Description:
calculating time zone difference on windows
Solution:
1.Use /#if WIN32 #endif/ to make sure the modification will not affect other platforms.
2. use <sys/types.h> and <sys/timeb.h> on NT to obtain time zone difference.
Platforms tested:
windows 2000
Purpose:
update windows-related projects
Description:
Add new source code (H5Fseq.c) and several test codes into all.zip
update hdf5.dsp,hdf5dll.dsp,testhdf5.dsp and testhdf5dll.dsp.
update setting for h4toh5 and h5toh4 converters.
Solution:
Platforms tested:
windows 2000
New feature
Description:
Added tests to make sure collective read or write works correctly
even if some process has no data to transfer.
ZROW--process 0 asks for zero rows of data while other processes ask
for a slab of rows.
ZCOL--process 0 asks for zero columns of data while other processes ask
for a slab of columns.
Platforms tested:
IRIX64 parallel (-64,-n32).
cvS: ----------------------------------------------------------------------
Bug workaround
Description:
tarray4.h5 and tdvltypes4.h5 are causing core dumps on modi4
Solution:
Commented out those tests for now. I'll take a look at them after the code
freeze for the beta-release is finished.
Platforms tested:
O2K (modi4)
Bug fix (feature, kind of)
Description:
The library used to hang if a collective dataset read/write request
does not have the same number of eventual MPIO request. Part of the
reason is that H5FD_read/H5FD_write immediately returns succeess
if it sees the request size is 0. This caused problem since other
processes with I/O to do would be hanging by waiting for the early
returned process(es).
Solution:
H5FD.c: disable the early return code in parallel mode. Make it
go on even with "nothing" to transfer.
H5D.c: the optimized MPIO xfer routines can handle collect calls correctly
when the condition is right (e.g., no conversion). When the COLLECTIVE
request cannot be handled correctly without the risk of hanging, the
COLLECTIVE is changed to INDEPENDENT calls for the eventual MPIO
calls.
Platforms tested:
IRIX64 parallel (-64, n32), IRIX64 -64 sequential, Linux sequential.
Bug fixes and misc. code fixing.
Description:
Updated to reflect current DDL document. Also changed VL data to be able
to be able also dump VL data of any other datatype.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
Corrections & updates
Description:
Updated and corrected DDL description & examples to include all the
current features for the v1.4 release. Lots of changes...
Platforms tested:
Netscape 4.76
Bug fix
Description:
The code for determining what a string should print out if it was
declared as H5T_STR_NULLTERM (C strings), H5T_STR_SPACEPAD
(Fortran strings), or H5T_STR_NULLPAD (print null characters to
the end of the line) was mucked. A user had a problem with it and
suggested a change, but the change didn't seem to work properly.
Also, if the string was H5T_STR_SPACEPAD, it could have stopped
when encountering a NULL even if it hadn't gotten to the end of
the string.
Solution:
Reworked the code to make it more understandable what's happening
and to add in support for H5T_STR_SPACEPAD which may have been
missing before.
Platforms tested:
Linux
Simple changes
Description:
testphdf5.h:
Call MPI_Abort when error is detected. MPI_Finalized was used
before but it might hang if the test has already encountered errors.
Also, it does not do the H5Eprint any more since auto report is on.
t_mdest.c:
Changed the variable name of rank and nprocs to mpi_rank and mpi_size
so that it is the same with the other tests and can use the VRFY macro
call.
Platforms tested:
modi4-64.
Bug fix
Description:
If TESTH5TOH4 or TESTH4TOH5 wasn't set, then it would mess up the
testing process by adding a ``#'' to the for statement (since
there was a line-continuation in the definition of the macro).
Solution:
Placed the macro expansions all on one line so that there's no
junk characters picked up by accident.
Platforms tested:
OSF1 (Gondolin)
Bug fix
Description:
make reconfigure complained syntax error.
Solution:
The for loop previous added contained a typo. Replaced $$test
with $$sub.
Platforms tested:
modi4-64.
Purpose:
Code maintenance and development
Description:
I added two functions h5open_f and h5close_f to initialize
C library and Fortran interface (flags, predefined datatypes, etc).
Those calls are required for any F90 program that uses HDF5.
I renamed H5f90misc.c and H5f90miscf.f90 files to H5f.c and H5ff.f90.
New functions are added to those new files.
Platforms tested:
Solaris 2.6
Code bullet-proofing
Description:
There were several hard-coded values in various places in this test and
it wasn't checking for out-of-memory conditions very robustly.
Solution:
Changed hard-coded values to be computed values and performed better
checking for out-of-memory situations.
Platforms tested:
SGI O2K (modi4) and Solaris 2.6 (baldric)
Bug fix, cleanup,...
Description:
The test was doing the hyperslab select incorrectly (thinking
count was the block length.
Solution:
Fixed it to do the correct hyperslab selection.
Changed it to calculate different data for different datasets.
Changed output by rows instead by cols. It tests the purpose
of creating multiple datasets the same but runs faster.
Platforms tested:
modi4-64.
Purpose:
Bug fix
Description:
HP and AIX compilers did not like duplicate array declarations in
common blocks statements.
Solution:
Removed duplication
Platforms tested:
SP2 and HPUX 11.00
Bug fix
Description:
With the changing of the spelling error in the h5ls usage
statement, these testfiles puked.
Solution:
Corrected them in there.
Platforms tested:
Linux
Addtion
Description:
Added variable length datatypes to the DDL and put an example in
the "example" thingy at the bottom.
Doo dah doo dah.
Platforms tested:
w3m
Purpose:
Code maintenance
Description:
Fixed the code to use new h5tarray_create_f subroutine to
create a compound datatype with an array field.
Platforms tested:
Solaris 2.6
Purpose:
Bugs fix
Description:
I used H5Tcreate_array instead of H5Tarray_create in C stub
Solution:
Fixed
Platforms tested:
Solaris 2.6
OCVS: ----------------------------------------------------------------------
Code cleaning
Description:
Use the variable to rid the warnings of "variable set but not used".
Platforms tested:
Linux and modi4 -64. Just compile only.
Purpose:
Code development and maintenance
Description:
Four new fortran functions to support array datatype were added:
h5tarray_create_f
h5tget_array_ndims_f
h5tget_array_dims_f
h5tget_super_f
Two functions were deleted (commented out for now, can be returned easily if
necessary):
h5tinsert_array_f
h5tget_member_dims
Platforms tested:
Library build was tested on Solaris2.6. I have to modify test program to
use new functions. Right now test program will not compile.