| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Query the dataset creation and transfer properties less often.
Platforms tested:
Solaris 2.7 (arabica)
h5committested
|
|
|
|
|
|
|
|
|
|
| |
Description: NULL dataspace. This step is mainly for dataspace header
message and a test.
Solution: The test mainly checks NULL dataspace features. Backward compatibility
is tested in the fill value test.
Platforms tested: h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Compute the size of a chunk once, when the layout information is set,
instead of each time I/O is performed on the chunk.
Platforms tested:
h5committest
Solaris 2.7 (arabica)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/optimization
Description:
Query property list values once, at the beginning of the I/O routines,
instead of querying the property list values multiple (lots!) of times in
lower level routines.
Solution:
Create "property list caches" for internal library queries of the property
list values.
Platforms tested:
IBM p690 (copper) w/parallel & fphdf5
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Fix a couple of bugaboos in the serial build that crept in
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Tweak address comparison of external file list's heap address a bit to
pacify Windows.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Asking Pedro to test on Windows
Too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Plug another small memory leak for fill-values.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values. This causes problems
when the raw information contains pointers to other information.
Solution:
Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Fix small memory leak of fill-value information inside the library.
Solution:
"reset" the fill-value object header message, so that the internal buffer
gets freed.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up compiler warnings, especially the 'FUNC' variable not used which
comes out in production mode.
Solution:
Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API
functions which don't need the 'FUNC' variable defined. (This will be _so_
much easier when C99 is standard on all our supposed platforms, since it has a
__FUNC__ macro... )
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor for h5committest (although there were lots of files changed, the
change was minor in each one)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & code cleanup
Description:
Allowing the library to call malloc with a size of 0 bytes causes problems
for some users, so we check for allocations of 0 bytes and disallow them now.
Cleaned up some code which could call malloc with 0 size.
Changed some code calling HDmalloc directly to call H5MM_malloc(), which
allows us to check for 0 sized allocations.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Refactored handlier of VFL drivers in file access and data transfer property
lists in order to simplify and unify the code dealing with them.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
| |
Update dependencies and tracing information
Platforms tested:
Linux 2.4 (verbena) w/FORTRAN
too minor for h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up various warnings and parameter mis-matches, etc.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to need h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed Dead Code
Description:
Some of the FPHDF5 code was dead (I thought it'd be useful at one
point, but was wrong).
Solution:
Removed
Platforms tested:
Linux (FPHDF5 specific. No need for h5committest)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
A lot of modifications for the FPHDF5 stuff:
H5AC.c
H5ACprivate.h - Removed AC_find (it's replaced with AC_protect
and AC_unprotect). Added flushing if it's an FPHDF5 driver and
we're doing an AC_set or AC_unprotect with the dirty flag set.
H5B.c - Split up the B_flush function into different functions
since the one function was doing serialization which is better
left as a separate entity.
H5D.c - Removed some FPHDF5 code that was incorrect
H5F.c - Split up the F_flush function so that it no longer
allocates file space. Created new functions (F_init_superblock,
F_read_superblock, and F_write_superblock) for greater modularity
and so that the FPHDF5 non-captain processes can read the
superblock after the captain process writes it.
H5FD.c - Error message correction.
H5FDfphdf5.c - Removed MPI barrier call that wasn't needed.
H5FPclient.c
H5FPserver.c - Modified so that if a process requests data that
isn't exactly aligned, we can return it if we have the block that
contains the requested address.
H5G.c
H5Gent.c
H5Gnode.c
H5HL.c
H5HLpkg.h
H5HLprivate.h
H5Oefl.c - Removed the H5HL_peek function since it was doing a
(now unsafe) holding of the information in the cache. Replaced
with protect and unprotect calls.
H5TB.c - Error fix. The TB_dless function wasn't working
properly.
H5Gstab.c - Format change.
H5err.txt
H5Edefin.h
H5Einit.h
H5Epubgen.h
H5Eterm.h - Added new error code.
Platforms tested:
Modi4 (paralle, Fortran)
Sol (Fortran)
Linux (C++, Fortran)
Copper (Parallel, Fortran)
Misc. update:
|
|
|
|
|
|
|
| |
Checkpoint file format spec.
Description:
Clarifications and cleanups related to file format review.
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
More linting...
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor to need h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Cleanup H5Pclose code and also switch a few internal users of H5Pclose
to use H5I_dec_ref instead.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too small for h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup & commentary
Description:
Add comments to the recent FPHDF5 additions to this file to describe why
the changes shouldn't be in this file and attempt to find the proper home for
them.
Platforms tested:
FreeBSD 4.8 (sleipnir)
just comments mostly, no need to run h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Added an extra flag to the clear functions that triggers a "destroy"
of the object being cleared if necessary. This is a fix for the
FPHDF5 stuff which had an object sticking around after it was
cleared. (In FPHDF5, some processes are in charge of destroying the
object, but all processes might actually allocate the object.)
Platforms tested:
AIX (Copper: Fortran & C++)
Linux (Verbena: Fortran & C++)
IRIX (Modi4: Parallel & Fortran)
(Sol is down)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Object references were not getting written out correctly to the file, with
recent changes to their memory structure.
Solution:
Convert the object references correctly.
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed lines like:
H5E_clear(H5E_get_my_stack());
to:
H5E_clear(NULL);
which performs the same operation.
Platforms tested:
h5committested
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Fix bug with combination of fill-values, chunked datasets and
variable-length strings.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Various code cleanups suggested by lint tool
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Version update
Description:
Removed 1.4 compatibility code in the library.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update code
Description:
Move "PABLO_MASK" definition above header file inclusion to avoid problems
with inline functions in header files.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix and refactored code
Description:
Return the file space we have allocated already when a dataset creation
fails.
Also track the change to the H5Fget_obj_<foo> APIs
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
The fill time in a dataset with no fill value information created with an
older version of the library was getting set to H5D_FILL_TIME_ALLOC instead of
the new default H5D_FILL_TIME_IFSET and was causing H5Dcreate() calls with that
dataset creation property list to fail now.
Solution:
Set the new default in the fill time initialization for missing fill value
information.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature/Bug fix
Description:
Add new fill time value - H5D_FILL_TIME_IFSET which writes the fill value
to a dataset if the user has defined one, otherwise not writing the fill value
to the dataset.
Platforms tested:
FreeBSD 4.8 (sleipnir) serial & parallel
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Chunked datasets with early space allocation and unlimited dimensions were
running into problems where the dataset's "layout" message was marked as
constant too early, preventing the dataset's dimensions from being extended.
Solution:
Change logic for marking the layout message constant to wait a bit longer.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/parallel
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Limit the scope on more function prototypes/macros/typedefs.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest not necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
When the same dataset is opened more than once and those references to the
object are left dangling, the library would not correctly shut down the dataset
API, potentially allowing the file to be truncated.
Solution:
"force" the dataset IDs to be released when the dataset API is being shut
down by the library.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup.
Description:
Move many package or internal function prototypes and macro definitions
into tighter scope according to their current use.
Added more comments where appropriate.
Eliminate ancient, unused functions.
Added a couple "accessor" functions to get parts of data structures which
were moved out of scope.
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature/enhancement
Description:
Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.
Solution:
Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.
There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.
Platforms tested:
h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Add & improve assertion that was removed in last commit, to check for
compact dataset storage.
Platforms tested:
FreeBSD 4.8 (sleipnir)
triple check not necessary.
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose: bug fix
Description: VL datatype in compact dataset fails because a wrong type size
is used.
Platforms tested: h5committested
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature, sorta
Description:
Track changes to various internal APIs
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
Linux 2.4 (burrwhite) w/FORTRAN
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/parallel & FORTRAN
(h5committest not run due to my ongoing difficulties with C++ on burrwhite).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Hooked up internal dataset creation call (H5D_create) to the new "can apply"
and "set local" callbacks for filters.
Solution:
Platforms tested:
FreeBSD 4.8 (sleipnir) w/szip
Linux 2.4 (sleipnir) w/szip
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/szip, FORTRAN & parallel
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Added support for FPHDF5 wherever there was support for MPI/IO and/or
MPIPOSIX.
Platforms tested:
Linux, Modi4, Sol
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up miscellaneous warnings which have crept into the code.
Fix "_POSIX_C_SOURCE not defined" warning on FreeBSD.
Adjust gcc compiler flags to be more concise for production mode.
Refactor the H5O code so that there is a stronger boundary between code
in the H5O package and code in the library which just calls H5O routines.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) serial & parallel and gcc 2.95.4 & gcc 3.2.2
Misc. update:
Update MANIFEST if you add or remove any file.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update feature
Description:
Relax collective constraint for API functions which only read metadata
from a file.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
Metadata cache in parallel I/O can cause hangs in applications which
perform independent I/O on chunked datasets, because the metadata cache
can attempt to flush out dirty metadata from only a single process, instead
of collectively from all processes.
Solution:
Pass a dataset transfer property list down from every API function which
could possibly trigger metadata I/O.
Then, split the metadata cache into two sets of entries to allow dirty
metadata to be set aside when a hash table collision occurs during
independent I/O.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) serial & parallel
Misc. update:
Updated release_docs/RELEASE
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
New feature
Description:
Added Adler32 checksum as a filter in pipeline
Platforms tested:
arabica (fortran), eirene (, C++), modi4 (parallel, fortran)
Misc. update:
Update release_docs/RELEASE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Currently, when the library encounters an object header message that isn't
know, it fails to open that object in the file.
Solution:
Allow the library to skip over the unknown object header message and
continue to process the remaining messages, in the hope that the skipped
message isn't important later. If it is important, it will be caught at
a higher level of the library.
Platforms tested:
FreeBSD 4.7 (sleipnir)
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Reduce warnings on Windows
Platforms tested:
FreeBSD 4.7 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/new feature.
Description:
Split FUNC_LEAVE into API and non-API specific versions. This allows a
solution to compiling this branch with C++, as well as reducing the size
of the binaries produced.
Platforms tested:
FreeBSD 4.7 (sleipnir) w/serial, parallel (including MPE) & thread-safe
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up a few more warnings and update dependencies.
Platforms tested:
Linux 2.2.18smp (eirene) serial & parallel
|