| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Remove "COALESCE_READS" ifdefs, which were brought in by the DPSS VFL
driver and are no longer used.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
H5Dcreate and H5Tcommit allow "empty" compound and enumerated types (i.e.
ones with no members) to be stored in the file, but this causes an assertion
failure and is somewhat vapid.
Solution:
Check the datatype "makes sense" before using it for H5Dcreate and
H5Tcommit.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Back out [apparently] unnecessary include of H5F package include files.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code Cleanup
Description:
Removed some compiler warnings.
Solution:
In a few cases, NULL was being returned when a FAIL was supposed to
be returned instead. There were some header files which needed to be
included in a few of the sources. A couple of if-then statements had
assignments in the conditional part. The compiler warned that they
should have extra "()"s around them. Made the code check the values
instead.
Platforms tested:
Linux (parallel) Modi4 (parallel)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Broke the FUNC_ENTER macro into several macros, with more specialized
uses (which followup mail will describe). This was designed to move
most/all of the checks which could be done at compile time to that point,
instead of needlessly performing them (over & over :-) at run-time.
This reduces the library's size (and thus staticly linked binaries) and
has a minor speedup effect also.
Platforms tested:
IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing
on FreeBSD and Solaris immediately after the checkin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup.
Description:
Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros
equivalents in the SAF library and adapted them to our library. I added
an additional macro which is equivalent to FUNC_ENTER:
FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but
none of the library or interface initialization code. This is to
be used _only_ for static functions and those which explicitly
cannot have the library or interface initialization code enabled
(like the API termination routines, etc.).
This allowed many more of the functions in the library [but not all yet :-(]
to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs.
It also reduced the size of the library and executables (by cutting out a
bunch of code which was never executed), I'll e-mail the exact results when
I've finished editing it.
Platforms tested:
IRIX64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Move iterator initialization in H5D_read & H5D_write before any errors can
occur.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Previously, the I/O pipeline (pline), external file list (efl) and fill-
value (fill) structs were passed down the raw data function call chain,
even into and/or through functions which didn't use them. Since all three
of these pieces of information are available from the dataset creation
property list, just pass the dataset creation property list down the
function call chain and query for the information needed in a particular
function.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Reduce gratuitous differences between H5D_write and H5D_read and also
remove distracting debugging printf's that were ifdef'd out.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up warnings from gcc 3.1
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Platform dependent code related to the struct stat and fstat
calls polluted source codes. Hard to maintain.
Solution:
Platform dependent code are moved to H5private.h and then internal
code can #include H5private.h. Repeat those macro definition for
the stdio and multi drivers since they area examples for writing
a virtual file driver. They must not use any internal code.
Platforms tested:
eirene (parallel), modi4 (serial including gass driver.)
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Re-indented new code to match coding style of rest of library.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
| |
Code Cleanup
Description:
Clean up compiler warnings from the last bunch of checkins
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
| |
Code Cleanup
Description:
Remove "knowledge" about external file storage from H5D_init_storage and
call H5F_seq_write instead, which handles things correctly.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
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:
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)
|
|
|
|
|
|
| |
Purpose:
Modified all.zip file to include a windows project for set_extend
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
Purpose:
updated the H5D_update_chunk function
Description:
removed some debugging code headers
Platforms tested:
w2000, linux
|
|
|
|
|
|
|
|
|
| |
Purpose:
added a new function H5D_update_chunck that will update the chunk information; for the moment this function
just has debugging of the b-tree
Platforms tested:
w2000 , eirene
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
code clean up
Description:
just some clean up of the functions H5D_set_extend and H5S_set_extend before the big change
(changing chunk info in the b-tree struct of the dataset)
Platforms tested:
w2000, eirene
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
If a non-zero fill-value is used for a chunked dataset, any non-existent
chunked read with an "all" selection (or a contiguous hyperslab selection)
will return zero for those instead of the user's fill-value.
Solution:
Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
will be available to fill the user's buffer with.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
modified the below files to inlude a new public function H5Dset_extend, similar
to H5Dextend, but it can lower the dimension
this function requires 2 more new private functions:
H5D_set_extend
H5S_set_extend
Platforms tested:
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up H5D_read and H5D_write routines, adding comments, etc.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweaked internal error handling macros to reduce the size of the library's
object code by about 10-20%.
Also cleaned up some compiler warnings...
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Modify H5Fclose behavior
Description:
The HDF5 actual file close behaves in several ways in terms of if there
are still objects(dataset, group, datatype) opened in file.
Solution:
Added a new file access property, file close degree. It has four values,
H5F_CLOSE_DEFAULT
H5F_CLOSE_WEAK
H5F_CLOSE_SEMI
H5F_CLOSE_STRONG
The way a file is closed is decided by these values.
Platforms tested:
IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
library.
Solution:
Removed H5P(g|s)et_hyper_cache API functions, except when backward
compatibility is turned on. When backward compatibility is turned on,
the property is defined by the library, but unused internally.
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Windows is generating hundreds of warnings from some of the practices in
the library. Mostly, they are because size_t is 32-bit and hsize_t is
64-bit on Windows and we were carelessly casting the larger values down to
the smaller ones without checking for overflow.
Also, some other small code cleanups,etc.
Solution:
Re-worked some algorithms to eliminate the casts and also added more
overflow checking for assignments and function parameters which needed
casts.
Kent did most of the work, I just went over his changes and fit them into
the the library code a bit better.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Be more careful when starting up and shutting down APIs, only initialize
variables which are actually shut down already.
Get rid of IDs from internal function calls
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code speedups, etc.
Description:
Bring in new algorithms and data structures for dealing with hyperslabs.
This speeds up the hyperslab I/O for non-regular hyperslabs by a huge
amount.
Currently, the new API functions are ifdef'ed out, pending discussion
and consensus approval.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
| |
Purpose:
Switch from old property list to new generic property list.
Description:
Mainly changed H5Pcreat, H5Pclose, H5Pcopy.
Platforms tested:
IRIX64 6.5, FreeBSD, SunOS 5.7.
|
|
|
|
|
|
|
| |
Purpose:
Changed the file creation property list to the new generic property list.
Platform tested:
IRIX64, SunOS5.7, FreeBSD
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Remove 'const' modifier in prototype for H5D_new, the dcpl_id parameter
needs to be non-const.
Platforms tested:
Eyeballed (reported on gondolin)
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up some small compiler warnings.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
| |
Purpose:
Changed to the new generic property list for dataset creation property
list.
Platforms tested:
Arabica, modi4 and Hawkwind
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Document bug fix.
Description:
When reading or writing to chunked datasets and the data needed datatype
conversion, and the amount of data was more than one conversion buffer,
data in the conversion buffer was getting corrupted.
Solution:
Corrected error in advancing buffer pointer where it was being advanced
by the number of elements instead of the number of bytes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kludge
Description:
Since we're only about halfway through converting the internal use of
property lists from the "old way" to the generic property lists, we turned
off snapshots to avoid exposing lots of API changes to users, until the
APIs settled down.
Getting the snapshots rolling again seems to have become a priority, so
some changes are going to have to be made now that were going to be
postponed until we were completely finished with the conversion. This
requires that the old API functions be able to deal with both the old
and new property lists smoothly.
Solution:
Kludge together the property list code so that they can transparently handle
dealing with both the old and new property lists
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup (sorta)
Description:
When the first versions of the HDF5 library were designed, I remembered
vividly the difficulties of porting code from a 32-bit platform to a 16-bit
platform and asked that people use intn & uintn instead of int & unsigned
int, respectively. However, in hindsight, this was overkill and
unnecessary since we weren't going to be porting the HDF5 library to
16-bit architectures.
Currently, the extra uintn & intn typedefs are causing problems for users
who'd like to include both the HDF5 and HDF4 header files in one source
module (like Kent's h4toh5 library).
Solution:
Changed the uintn & intn's to unsigned and int's respectively.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
The datatype conversion buffer size was only halfway converted from hsize_t
to size_t and was causing problems. Also, the H5P_peek_<foo> routines have
a bunch of identical code.
Solution:
Finished converting the datatype conversion buffer size to size_t and
cleaned up the implementation of the H5P_peek_<foo> routines to call a
common routine instead of reimplementing a bunch of code.
Platforms tested:
Solaris 2.7 (arabica)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New Features!
Description:
Start migrating the internal use of property lists in the library from the
older implementation to the new generic property lists.
Currently, only the dataset transfer property lists are migrated to the
new architecture, all the rest of the property list types are still using
the older architecture.
Also, the backward compatibility features are not implemented yet, so
applications which use dataset transfer properties may need to make the
following changes:
H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
and
H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)
This still may have some bugs in it, especially with Fortran, but I should
be wrapping up those later today.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
| |
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
Fold in the hyperslab speedups, clean up compile warnings and change a
few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code clean/bug fix
Description:
H5FL (free-list manager) code currently is taking an hsize_t as the size
of a memory block to allocate. On many machines, the size of an hsize_t
is greater than the size of a size_t, potentially leading to incorrect
memory allocations in rare circumstances.
Solution:
Changed hsize_t parameters and variables to size_t.
Platforms tested:
FreeBSD 4.3 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix/code improvement.
Description:
'all' selections were (ab)using the array reading code and required that
the internal data transfer buffer size be big enough to hold the an entire
slab of the data, which was confusing and limiting for users.
Solution:
Changed 'all' selections to use sequence reading code instead of array
reading code.
Platforms tested:
FreeBSD 4.3 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Changed
#include <hdf_file.h>
construct to
#include "hdf_file.h"
so that the GNU compiler can more easily pick up the dependencies
which it places in the .depend and Dependencies files. Also
regenerated the Dependencies to go along with this.
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix (sort of)
Description:
The RCSID string in H5public.h was causing the C++ code problem as it
was included multiple times and C++ did not like multiple definitions
of the same static variable.
Solution:
Since we don't really make use of the RCSID strings as we have not
installed it in all source files, we decided to remove it.
Platforms tested:
eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Certain combinations of hyperslabs, especially those that have to be
strip-mined during I/O were causing data to be incorrectly transferred.
Solution:
Changed the code in H5S_get_hyper_regions to be more careful about the
regions of the current dimension that are valid. Sometimes, regions which
had already been iterated through were being re-processed.
Platforms tested:
FreeBSD 4.2 (hawkwind)
|