Clean up formatting and re-organize a bit...
Tested on:
Max OS X/32 10.4.8 (amazon)
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
the linkval buffer, per Elena and Frank's suggestions while revising
the documentation. Added error checking using this size, as well as a
couple of tests.
Tested on juniper, kagiso, and sol.
Finish internal work necessary to track creation order in v2 B-tree when
group is in "dense" storage form.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add support for compress heap blocks in "managed" heaps.
Also, fix bug when the first direct block moves between having a parent
and not having one (and vice versa), which occurs when the heap moves between
having a direct root block and having an indirect root block.
Tested on:
FreeBSD 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/C++ & FORTRAN
Linux/64 2.4 (mir) w/build-all & 1.6 compat
h5diff: print a message of "not comparable" in a case where the relative error
compare is not possible, due to the denominator being zero. Modified
the test file generator program to include a example for this and a new
test on the shell script
Description:
Added (long) to a verify_val call.
Platforms tested:
Linux 2.6 (kagiso) - very minor, and Kent will test it on Windows, because
that was where it was complained about.
1) added a new parameter to the h5diff function diff_array that contains
the beginning position of the hyperslab, so that the total position in
the array is printed correctly when reading by hyperslabs.
2) added a new test to h5diff that reads and diffs by hyperslabs. The
test reads a 1GB dataset, from which a 1KB hyperslab was written with
differences .
3) added the generation of 2 files to the generator program to test the
h5diff hyperslab read.
4) changed the h5diff binary pre-generated file names to be more
descriptive (e.g, instead of file1.h5, made it h5diff_basic1.h5)
5) changed the name of the h5repack options text file to info.h5repack
Bug fix.
Description:
AIX complained if some files are still open when MPI_Finalize is called,
so code called _exit without calling MPI_Finalize. But in Linux hosts
with MPICH, the MPI processes terminated but the launch processes got
stuck waiting for those processes to end properly and they would hang
on forever. As more tests ran, more processes got stuck.
Solution:
In order to please both AIX and MPICH, the MPI file handles are retrieved
and closed outside of the HDF5 library, then call MPI_Finalize and then
_exit.
Tested:
in heping and copper.
Bug fix.
Description:
H5FD_get_vfd_handle() would return okay even if an VFD did not have the
get_vfd_handle callback function defined.
Solution:
Return failure if get_vfd_handle function is not defined.
Tested:
in heping and copper.
Reduce memory usage for common cases of I/O pipeline filter memory usage.
Also, clean up some more code...
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Finish new version of the I/O pipeline message, which is much smaller than
the previous version. This version is used with the "use the latest version
of the format" flag.
Closed several memory leaks/overruns (found with valgrind).
Also, lots of compiler & formatting cleanups.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Fix several errors in the "latest version" of the object header format
changes and enable the new version when requested now.
Clean up several confusing or duplicated sections of code.
Tested on:
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
FreeBSD/32 4.11 (sleipnir)
1. bug fix. the h5_cleanup file names were not build properly on the h5repacktest call
2. added only a call to test_bigout.h5 to be clean, because the other files are generated anyway by the shell script. test_bigout.h5 is only made on the C program part (h5repacktst)
compression test.
Tested that the file is removed on juniper and heping.
Running reconfigure also regenerated the H5E* files (I think this means
somebody updated these files but didn't run reconfigure).
requests large data from file, to avoid using too much of memory for copying data from library's
own aligned buffer to application's (unaligned) buffer, this step is done in fragment. The next
step checkin is to handle writing data in fragment.
For some reason, only Visual Studio DLLs complained about these.
Current code compiles for me under Visual Studio and generates no related
warnings on juniper.
Fixes for bugs 676, 228
676: both h5repack and h5diff use H5Dread. In the case of a "big"
dataset, use read/write by hyperslabs the same way h5dump uses. An
arbitrary value of 1GB was defined for "big", i.e, if the dataset is
greater than 1GB, then read/write by hyperslabs
228: use the file type in read/write by default. A new switch -n was
introduced if the user wants to use a native type, which was the
previous use by default.
Added a new test for h5repack that repacks a 1GB dataset
Tested: heping (serial, parallel), sol, copper
Skipped until fix is found.
Tested on heping with pgf90.
Note: Logic was wrong; as a result, the test was bypassed for all
compilers except those (like Intel) that understand !DEC compiler directive.
I confirmed that the test fails on heping with pgf90. The symptoms are the same:
1.6.5 h5dump can read multi files created by fortran test,
but built h5dump fails with internal error.
--This line, and those below, will be ignored--
M test/fortranlib_test.f90
through driver info functions in H5FD_direct_open, H5FD_direct_read, and H5FD_direct_write. The
external change is to add a new API function H5Pget_fapl_direct to query 3 control values, the
memory boundary, file system block size, and the maximal buffer size for copying data.