Bug Fix
Description:
We couldn't find the HDF5 source files for compilation with Pablo.
Solution:
Have it find them in the $(top_srcdir)/src/ directory.
Platforms tested:
Modi4
New Feature
Description:
Added new H5Dfill() routine to fill the elements in a selection for a
memory buffer with a fill value. This is a user API wrapper around some
internal routines which were needed for the fill-value modifications
from Raymond as well as Pedro's code for reducing the size of a chunked
dataset.
Platforms tested:
FreeBSD 4.5 (sleipnir) [and IRIX64 6.5 (modi4) in parallel, in a few
minutes]
Purpose:
New feature
Description:
Added a query function H5Tget_member_index for compound and enumeration
data types, to retrieve member's index by its name.
Platforms tested:
Linux 2.2
Minor h5ls bugfix for compound types with array members.
(Similar changes shortly for 1.4 branch).
2002-04-04 16:39:09 Robb Matzke <matzke@arborea.spizella.com>
* display_cmpd_type: Removed code to display array dimensions from display_cmpd_type()
since this was a holdover from the days when hdf5
didn't have an array datatype and was duplicated by
display_array_type().
Minor h5ls bugfix for compound types with array members.
(Similar changes shortly for 1.4 branch).
2002-04-02 10:22:55 Robb Matzke <matzke@arborea.spizella.com>
* H5F_istore_read: Realigned a couple of comments.
Bug Fix & Code Cleanup
Description:
The MPI-IO optimized transfer routines
(H5S_mpio_spaces_read/H5S_mpio_space_write) are not being invoked in all
the cases where they could be used.
Additionally, the code for determining if an optimized transfer is wrapped
into the actual I/O transfer routine in a very confusing way.
Solution:
Re-enabled MPI-IO optimized transfer routines in all the cases where they
should work.
Extracted all the pre-conditions for optimized transfers into separate
routines from the transfer routines.
Platforms tested:
FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
Features.
Description:
Error stack used to report only hdf5 predefined error messages
because it takes only static strings. Runtime defined messages
were not pushed to the stack.
Added the means and macros to push MPI error strings onto the
hdf5 error stack. Added a new minor error class as H5E_MPIERR
for this class of messages.
H5Epulbic.h, H5E.c:
Added H5E_MPIERR and its minor class description.
H5Eprivate.h:
Added HMPI_XXX macros to push MPI error strings to the stack.
H5FDmpio.c:
Changed couple places to use the new macros to test the new
macros. A more through changes to make use of these new
macros will be done later.
Platforms tested:
eirene (serial, parallel)
modi4(parallel)
Autotools Update
Description:
I've updated autoconf, automake, and libtool to the latest/greatest
versions; 2.53, 1.6, and 1.4.2 resp.
Many changes come with the new versions:
- ltconfig is no longer used
- acconfig.h is no longer used (#define values are declared with
the macro)
- regeneration of all of the aclocal.m4, configure, and
H5config.h.in files.
- new config.{guess,sub} files
- new ltmain.sh file
Platforms tested:
AIX (blue), and Linux
Code cleanup
Description:
The function pointer for doing parallel I/O was being set in the H5D_read
and H5D_write routines instead of in H5S_conv, where it belongs.
Solution:
Added an extra 'flags' parameter to H5S_find to allow the function to
determine when to set the MPIO functions instead of the regular optimized
I/O routines and get rid of code messing with the function pointer in the
H5D routines.
Platforms tested:
IRIX64 6.5 (modi4)
Bug Fix & Feature
Description:
The selection offset was being ignored for optimized hyperslab selection
I/O operations.
Additionally, I've found that the restrictions on optimized selection
I/O operations were too strict and found a way to allow more hyperslabs
to use the optimized I/O routines.
Solution:
Incorporate the selection offset into the selection location when performing
optimized I/O operations.
Allow optimized I/O on any single hyperslab selection and also allow
hyperslab operations on chunked datasets.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Bug Fix (sorta)
Description:
"small" contiguous hyperslabs were not being detected correctly by
H5S_hyper_select_contigous() leading to poorer performance than possible.
Solution:
Corrected check for small hyperslabs. Also cleaned up the H5S_find() code.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Purpose:
Bug fix(#697)
Description:
Variable-length string is not treated as string.
Solution:
Added character set and padding as VL string's attributes. They can be
set and retrieved.
Platforms tested:
Solaris 8, IRIX64 6.5 parallel, and FreeBSD.
Purpose:
Bug fix(#697)
Description:
Variable-length string wasn't treated as string.
Solution:
Added character set and padding into VL string type.
Platforms tested:
FreeBSD
feature
Description:
Added -fsize <fsize> option which controls the family file size
used. This can be used to test the file size limits of a machine
or file system.
Platforms tested:
modi4 (passed even 20GB file size).
Eirene (started to fail when 2GB is used. Expected since linux 2.2
does not support large than 2GB file size.)
burrwhite (passed up to 4GB. Expected since Linux 2.4 supports larger
than 2GB file size.) Then it failed at 4GB and beyond. This is
probably a bug in the family file driver.
Purpose:
Bug Fix
Description:
Parallel Fortran wasn't working on Modi4. The tests for parallel
MPI Fortran were failing to find MPI files.
Solution:
Changed the AC_TRY_FLINK() macro so that libraries are included
at the end of the link line so that unresolved symbols can be
found...
Platforms tested:
Modi4
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.
2002-03-18 14:30:58 Robb Matzke <matzke@arborea.spizella.com>
* H5B_assert: Fixed typos in comments.
Purpose:
Bug Fix
Description:
Hrm...When I was restoring the LDFLAGS variable after a failure, I
fergot to put a $ on the saved_LDFLAGS variable during the
assignment.
DOH!
Solution:
Added the $.
Platforms tested:
Modi4
Purpose:
rearrange project setting
Description:
by default, no c++ library or tests will be built. User will enable by checking dependencies by themselves to build c++ library.
The old all.zip somehow build c++ libraries.
Solution:
correct it by disable c++ dependency.
Platforms tested:
windows 2000
Purpose:
fix a windows bug
Description:
1. To create a >4GB file, fstati64 has to be used instead of fstat.
change fstat to fstati64 for WIN32 macroes. Some discussions are going on
the general issue on how to better handle with WIN32 or other similar platform.
This check-in is just a reminder not to forget the windows bug.
2. erase a WIN32 macro(include winsock2.h) at h5detect.c. It is not a problem now.
Solution:
use fstati64 instead of fstat for win32.
Platforms tested:
windows2000(confirmed at linux machine eirene)
Bug Fix
Description:
Regression test for following bug:
The H5Gget_objinfo() function was not setting the 'fileno' field in the
H5G_stat_t struct passed in.
Solution:
Added a "file serial number" to each file currently open in the library
and put that in the 'fileno' field. If a file is opened twice (with
H5Fopen) and the VFL driver detects that it is the same file (i.e. the
two file structures have the same "shared file info" in the library's
memory structures), they will have the same serial number.
This serial number has two drawbacks:
- If a VFL driver doesn't/can't detect that two calls to H5Fopen with
the same file actually _are_ the same file, each will get a
different serial number
- If the same file is closed and re-opened, the serial number will be
different.
It is be possible to fix the second drawback for many VFL drivers, but it
would be a lot of effort and probably isn't worth it until we've got a
good reason to do it. Dunno if we'll ever be able to fix the first
drawback...
Platforms tested:
FreeBSD 4.5 (sleipnir)
VS: ----------------------------------------------------------------------
Bug Fix
Description:
The H5Gget_objinfo() function was not setting the 'fileno' field in the
H5G_stat_t struct passed in.
Solution:
Added a "file serial number" to each file currently open in the library
and put that in the 'fileno' field. If a file is opened twice (with
H5Fopen) and the VFL driver detects that it is the same file (i.e. the
two file structures have the same "shared file info" in the library's
memory structures), they will have the same serial number.
This serial number has two drawbacks:
- If a VFL driver doesn't/can't detect that two calls to H5Fopen with
the same file actually _are_ the same file, each will get a
different serial number
- If the same file is closed and re-opened, the serial number will be
different.
It is be possible to fix the second drawback for many VFL drivers, but it
would be a lot of effort and probably isn't worth it until we've got a
good reason to do it. Dunno if we'll ever be able to fix the first
drawback...
Platforms tested:
FreeBSD 4.5 (sleipnir)
VS: ----------------------------------------------------------------------
Bug Fix
Description:
I wasn't testing if the Fortran compiler could actually do the MPI
compilation tests.
Solution:
Changed the configure script so that it uses Fortran 90 to test the
MPI compilation stuff instead of the MPI C compiler...
Platforms tested:
AIX and Linux
Code removal
Description:
Removed the HDF4 source files from the HDF5 tree. The directories
will remain. Use the "-P" option when doing a cvs checkout or update
to "prune" the empty directories from your personal tree.
Purpose:
Bug Fix
Description:
The new way of detecting LibZ (just specifying the directory where
include/ and lib/ are) wasn't propagated down to the Fortran
directory.
Solution:
Added that code...
Platforms tested:
AIX and Linux
Bug Fix
Description:
Regression test for following bug:
When reading a contiguous hyperslab that spanned the entire dataset and
was larger that the type conversion buffer, the hyperslab routines need
to fill the type conversion buffer and then return to the I/O routines.
When the I/O routines resume the hyperslab operation, it was possible to
have a combination of coordinates which caused the hyperslab iterator
to incorrectly advance in the file, causing some data to be re-read or
re-written.
Platforms tested:
Linux (eirene)
Bug Fix
Description:
When reading a contiguous hyperslab that spanned the entire dataset and
was larger that the type conversion buffer, the hyperslab routines need
to fill the type conversion buffer and then return to the I/O routines.
When the I/O routines resume the hyperslab operation, it was possible to
have a combination of coordinates which caused the hyperslab iterator
to incorrectly advance in the file, causing some data to be re-read or
re-written.
Solution:
Corrected the H5S_hyper_iter_next routine to correctly handle contiguous
hyperslabs that span the entire dataset dimensions.
Platforms tested:
Linux (eirene)
Purpose:
To clarify where INSTALL files are located.
Description:
The README.txt refers to the INSTALL files as though they
were in the top HDF5 directory. They are not there so this
was confusing to users. Added a line saying they were located in
the release_docs/ directory.
Code Motion
Description:
Removal of HDF4 from the configure/Makefiles. This is a precursor to
the actual physical removal of the HDF4 tools from the HDF5 tree.
Platforms tested:
Arabica, Dangermouse