Code cleanup
Description:
Got rid of the "H5T_BKG_TEMP" setting that was used internally to the
library, since temporary background buffers are now handled by the
individual conversion routines instead of in a global background buffer.
No APIs were changed or affected by this.
Platforms tested:
FreeBSD 4.5 (sleipnir)
Maintenance
Description:
The tflops option local modification in bin/config.sub was wiped out
during the latest autoconfigure tools upgrade. Instead of adding it
in for every autoconfigure tools upgrade, I changed the instruction
to use a standard feature in configure.
./configure --host=i386-intel-osf1
This is a bit more typing but no more local modification.
Bug fix
Description:
When several level deep nested compound & VL datatypes are used, the data
in the nested compound datatypes is incorrectly sharing the same "background
buffer", causing data corruption when the data is written to the file.
Solution:
Allocate a separate background buffer for each level of the nested types
to convert. (Also allocate temporary background buffers for array
datatypes, where this sort of problem could occur also)
Added more regression tests to check for these errors.
Platforms tested:
FreeBSD 4.5 (sleipnir) & Solaris 2.6 (baldric)
Purpose:
added a new file
Description:
new file that contains the framework for a new test, regarding a new ID to name
function. for the moment the program does nothing
Platforms tested:
w2000
Purpose:
Bug Fix
Description:
Reading fill_old.h5 from fillval.c has problem to find from building
directory.
Solution:
prepend source directory into file name.
Platforms tested:
Linux 2.2
Bug Fix
Description:
Ported the hack of hte ltmain.sh script from the v1.4 branch to the
1.5 branch, since it's sure to fail on systems with really long
-Wl... flags...
Purpose:
New feature
Description:
Fill-value's behaviors for contiguous dataset have been redefined.
Basicly, dataset won't allocate space until it's necessary. Full details
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
These two file test backward compatibility with 1.4.
Platforms tested:
Linux 2.2.
Purpose:
New feature
Description:
Fill-value's behaviors for contiguous dataset have been redefined.
Basicly, dataset won't allocate space until it's necessary. Full details
are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment.
Platforms tested:
Linux 2.2.
Purpose:
test for the H5Dset_extent API function
Description:
there are 2 types of tests:
Test H5Dset_extent with chunks on the raw data cache
Test H5Dset_extent with chunks written to file
Platforms tested:
Windows 2000
SUN( arabica)
LINUX (eirene)
IRIX64 (modi4)
Purpose:
H5Dset_extent API function
Description:
1 new public function: H5Dset_extent, that allows shrinking a dataset
several private functions that free the previously allocated chunks
H5F_istore_prune_by_extent, H5B_prune_by_extent : removes the chunks
H5F_istore_initialize_by_extent : initializes them with the fill value
H5S_select_fill is used to fill the selection in the memory buffer
Platforms tested:
Windows 2000
SUN( arabica)
LINUX (eirene)
IRIX64 (modi4)
Feature
Description:
Added comments that this is intended as an example of file driver.
Added a macro detection at the end to flag if non-public definitions
are used. (only check for H5private.h which is mostly likely used.
Not bullet proof at all.)
Platforms tested:
eirene.
Third Time's a Charm
Description:
Okay...So, the H5Tinit.c isn't in the $(top_srcdir) directory but in
the $(top_builddir) directory.
Solution:
Hack so that if it is H5Tinit that we're compiling, then point to the
$(top_builddir) directory.
Platforms tested:
Linux
Bug Fix Fix
Description:
The way I fixed the bug didn't work on Linux.
Solution:
Changed so that we use the $* macro with a .c extension instead of
assuming that $< won't have a full pathname already.
Platforms tested:
Linux
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.