| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Fixes a bug in H5Fsuper_cache.c where a logical AND was
used instead of a bitwise AND.
Tested on:
miette (Mac OS-X 10.8 / clang) (very minor change)
|
|
|
|
|
|
|
|
| |
Create/destroy flush dependency between the fractal
heap header and the 'huge' v2 B-tree.
Tested on:
jam (still has flush refresh test error)
|
|
|
|
|
|
|
|
| |
Very minor change to an error reporting routine in the extensible
array code.
Tested on:
jam (very minor change)
|
|
|
|
|
|
|
|
| |
Fixes a variety of compile warnings and issues in the B-tree
and heap code.
Tested on:
jam
|
|
|
|
|
|
|
|
| |
Adds some additional flush dependency plumbing and fixes some minor
issues with the v2 B-tree code.
Tested on:
local Ubuntu VM
|
|
|
|
|
|
|
|
|
| |
Basic SWMR and flush dependency plumbing for fractal heaps. Does not include
flush dependency creation code.
Changes to the H5EA* code were just some indenting issues.
Tested on jam
|
|
|
|
|
|
| |
Add H5FSint.c file missing from last check-in.
Tested on: jam
|
|
|
|
|
|
|
|
| |
Mainly to add SWMR flush dependencies to the free space manager (H5FS) code.
Also fixes a few issues with the local heap and the fixed array code, and
brings the MANIFEST up to date.
Tested on: jam
|
|
|
|
|
|
|
|
| |
Merge r22694 and r22700 from the trunk. These are minor fractal
heap edits.
Tested:
jam (minor change, has baked in trunk)
|
|
|
|
|
|
|
|
|
|
| |
Add flush dependencies to the fixed array code.
Description:
Updated CMakeLists.txt for new H5FAint.c file.
Tested:
jam (there is an existing flush/refresh test error)
|
|
|
|
|
|
|
|
|
|
| |
Add flush dependencies to the fixed array code.
Description:
Forgot to add new file.
Tested:
jam (there is an existing flush/refresh test error)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add flush dependencies to the fixed array code.
Description:
Added basic flush dependency wiring to the fixed array code. Does not
include the test code, which will be added soon.
NOTE: The Makefile.in change in test/ is not due to any changes made
here. It appears to be from a missing bin/reconfigure in a prior
checkin.
Tested:
jam (there is an existing flush/refresh test error)
|
|
|
|
|
|
|
|
|
|
| |
Description:
Patched H5B2 shadowed list implementation to remove nodes from the shadowed list
when they are evicted, and added some missing initializations. Also removed
inadvertent temporary changes to the tests that disabled srandom, added
assertions and fixed formatting.
Tested: ummon
|
|
|
|
|
|
|
|
| |
Correct H5P_init_def_layout() to H5P__init_def_layout(), per Windows
daily test failure
Tested on:
Windows daily test
|
|
|
|
|
|
|
|
| |
Merge r22634:2266 from trunk to revise_chunks branch
Tested on:
Mac OSX/64 10.7.4 (amazon) w/debug, gcc-4.7.x, C++, FORTRAN and threadsafe
(h5committest not needed on this branch)
|
|
|
|
|
|
|
|
| |
Bring r22599:22634 from trunk to revise_chunks branch
Tested on:
Mac OSX/64 10.7.4 (amazon) w/gcc 4.7.x, C++ & FORTRAN
(No need for h5committest yet on this branch)
|
|
|
|
|
|
|
|
| |
Bring r22251:22599 from trunk to revise_chunks branch.
Tested on:
Mac OSX/64 10.7.4 (amazon) w/gcc 4.7.1, C++ & FORTRAN
(Not h5committested yet, as this branch doesn't require it)
|
|
|
|
| |
configure to branch
|
| |
|
|
|
|
|
| |
Tested on jam. This branch still has h5diff errors. The library tests
all pass, though.
|
|
|
|
|
| |
Tested on jam. This branch still has h5diff errors. The library tests
all pass, though.
|
|
|
|
|
|
|
|
|
|
| |
enter/leave/error macro
scheme. Also created separate prefix and data block files so that the
local heap code more closely resembles the rest of the data structures.
Tested on jam. This branch still has h5diff errors. The library tests
all pass, though.
|
|
|
|
|
|
|
|
|
|
|
| |
functions
under the new error handling macro scheme.
Also added some helpful comments and cleaned up some formatting.
Tested on jam, which has h5diff errors at this time. The library tests
all pass so I'm going to check this in.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Adds SWMR support to the v2 b-trees when used as a chunk index. Because each
node keeps track of the total number of records reachable through each of its
children, nodes must be shadowed every time a descendent record is inserted or
removed. This implementation prevents this from happening, however, if the node
has already been shadowed since the last time the v2 b-tree header was flushed.
Also modified SWMR test to include v2 b-trees.
Tested: jam, koala, ostrich (h5committest), durandal
Note: There is a preexisting failure in the ph5diff (-v) test
|
|
|
|
|
|
|
|
| |
working on v2 b-trees,
but not related to v2 b-trees.
Tested: durandal
|
|
|
|
|
|
|
| |
vs2008 needed H5private.h in H5Oflush.c
VS needs windows export decoration (H5DLLVAR) in header used by source file of origin
Tested: windows
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring r22085:22251 from trunk to revise_chunks branch.
Also tackle some testing issues in test/objcopy.c test and clean up
some warnings.
Tested on:
FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (ostrich) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (ember) w/Intel compilers, w/paralle, C++ & FORTRAN,
in production mode
Mac OS X/32 10.7.3 (amazon) in debug mode
Mac OS X/32 10.7.3 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Mac OS X/32 10.7.3 (amazon) w/parallel, in debug mode
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
The "support" and "unsupport" chunk index callbacks took H5D_chunk_common_ud_t
udata pointers, which seems reasonable because the udata is only needed to
locate the chunk, and does not need to return anything to the callers. However,
for v1 b-trees, H5D_btree_found must be called in order to locate the chunk, and
this function assumes that the udata is an H5D_chunk_ud_t and writes to fields
that are not in H5D_chunk_common_ud_t. Modified the support and unsupport
callbacks to take H5D_chunk_ud_t.
Note: h5watch still fails
Tested: durandal, ostrich
|
|
|
|
| |
Tested: jam
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
In H5Dearray.c, functions would "swizzle" the chunk offset and "down" number of
chunks in order to more the unlimited dimension to be the first dimension, but
they would not swizzle the chunk dimensions. This could cause two chunks to
have the same index, causing problems. Modified code to swizzle the chunk
dimensions, and added a test.
Note: There is still a problem with h5watch that appears to be unrelated.
Tested: durandal
|
|
|
|
|
|
|
|
|
|
| |
Bring r20557:22085 from trunk to this branch, also fixing some other
issues/failures in the branch simultaneously. The h5repack tests are still
failing, but Neil will be checking into those, so the branch can be fully
functional again.
Tested on:
Mac OSX/64 10.7.3 (amazon) w/debug
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Two issues were found with the chunk cache's SWMR implementation:
1. Some places were not properly setting the rdcc field in the index udata
struct. Fixed. May eventually need to add an rdcc field to the idx_info
struct.
2. While recalculating the indices for chunks in a dataset being resized, it was
possible for the chunk cache to attempt to flush a chunk before all the
indices were updated, which caused problems when a node split and flush
dependencies needed to be updated, because the child nodes could not be found
in the chunk cache due to the index being out of date. Modified algorithm in
H5D_chunk_update_cache to keep a temporary list of entries that got "bumped",
and only evict them after all chunks have updated indices. Also modified
H5D_chunk_update_flush_dep and H5D_chunk_update_flush_dep to search this
temporary list when looking for the child chunk entry. As a side effect,
chunks are now more likely to remain in cache after a call to H5Dset_extent
(even without SWMR), so performance should improve slightly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
Adds SWMR capability to v1 b-trees, and the chunk index using v1 b-trees. With
this implementation, flush dependencies are always on when in the cache. This
will allow attritbutes to be used for "checkpointing" data when object header
dependencies are fixed - i.e. if a writer writes data before an attribute in
that dataset's object header, then if a reader sees the updated attribute the
written data is guaranteed to be visible, as long as that dataset's b-tree nodes
are evicted from the reader's cache.
Also adds support for compression with SWMR.
Also fixes earray implementation to not free (reuse) the file space for deleted
chunks and outdated versions of compressed chunks when doing SWMR writes. These
should eventually be added to a timeout list.
Adds testing for these cases.
Tested: durandal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring r20407:20557 from trunk to revise_chunks branch
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (ember) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
disabled with no chunk
cache.
Description:
When edge chunk filters and the chunk cache are disabled, the library would
previously go through the lock/unlock routines then immediately evict the chunk
as is done for filtered datasets, even for the unfiltered edge chunks. This
forced the entire chunk to be read/written, even if only part of the chunk was
selected. Modified the chunk cache to detect this case, and read/write only the
selected portion directly from/to the unfiltered chunk.
Tested: jam, amani (h5committest, heiwa down), fedora
|
|
|
|
|
|
|
| |
Bring r20382:20407 from trunk to revise_chunks branch.
Tested on:
Linux/32 2.6 (chicago) w/C++
|
|
|
|
|
|
|
| |
Bring r19714:20382 from trunk to revise_chunks branch
Tested:
Linux 2.6/64 (chicago)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A) - Changes to add the new tool "h5watch" to High Level
- Changes to add three new High Level public routines for retrieving elements appended to a dataset
B) A patch from Mike M. to fix the H5Dflush/refresh problem:
src/H5Dpkg.h
src/H5Dint.c
src/H5D.c
C) Fix for an assertion failure in H5FS_sect_link_size() in H5FSsection.c
src/H5Dbtree2.c
h5committested; tested also on linew, duty, fred.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring r19714:20145 from trunk to revise_chunks branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Mac OS X/32 10.6.6 (amazon) in debug mode
Mac OS X/32 10.6.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve portability of flushrefresh test.
Description:
The flush/refresh API test was hanging on linew because
Solaris's 'date' tool does not recognize the "+%s" option,
which returns time since the epoch on other UNIXes.
There doesn't seem to be a good way to unify the tools,
however, Perl can be easily used for this function. I've
modified configure to always check for the existence of
Perl (previously it only did so if GNU compilers were being
used), and the flush/refresh test script now uses perl to
perform this timestamping functionality rather than date,
by default. (if Perl is not detected by configure, the
script will use date as it did prior to this modification).
Fixed a few other compatibility issues w/ Solaris in passing:
- fixed 'head' and 'tail' parameters to be more portable
- avoid passing NULL to an fprintf call in flushrefresh.c
Tested:
- Tested testflushrefresh.sh on jam, linew, heiwa, liberty,
duty, ember, and abe.
|
|
|
|
|
|
|
|
| |
Check in Vailin's "implicit" chunk indexing code.
Tested on:
Mac OS X/32 10.6.5 (amazon) w/debug & production
(further testing upcoming shortly)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fix a few minor issues related to flush/refresh code
Description:
- Replaced the globality macros with an enum typedef, to
better encapsulate of the values that can be assigned
to the variable.
- Combined 'tag' and 'globality' properties into a single
property by creating a new structure housing both values,
since they are always accessed at the same time anyways.
- Added an extra parameter check to H5Tflush/H5Trefresh
routines to make sure the supplied datatype is a committed
datatype.
- Renamed and reworked some code to move "metadata" (H5AC)
specific things out of the generic cache (H5C) level of code.
Tested:
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring r19697:19714 from trunk to revise_chunks branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add API and supporting code to allow single object flushes and refreshes.
Description:
Added the following API calls:
H5Dflush / H5Drefresh
H5Gflush / H5Grefresh
H5Tflush / H5Trefresh
H5Oflush / H5Orefresh
Each H5*flush API flushes the targeted object's metadata,
while each H5*refresh evicts all metadata related to an object
and reopens the object (re-loading needed metadata from disk).
New files include src/H5Oflush.c, containing new internal H5O_*
functions used by the above API calls. Also, a test file and test
script template have been added, test/flushrefresh.c and
test/testflushrefresh.sh.in. There is not (yet) a corresponding
test script for windows as the current one isn't quite portable.
Several H5C and H5AC-level functions have been added to support
single object flushing and eviction, and the previously committed
'metadata tagging' code has been tweaked slightly to pull H5AC__*
macros out of H5C.c and a few other fixes as necessary as well.
Tag globality has been added to better encapsulate the meaning of
global tags in the H5C layer of the code.
Tested:
h5committested.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring r19668:19697 from trunk to revise_chunks branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make certain that the SWMR read & write file access flags get passed to
externally linked file.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Mac OS X/32 10.6.4 (amazon) in debug mode
Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
|
|
|
|
|
|
|
|
|
| |
Bring r19658:19668 from trunk to revise_chunks branch.
Tested on:
FreeBSD/32 6.3 (duty) w/debug
Linux/32 2.6 (jam) w/debug
(h5committest not required on this branch)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bring r19639:19658 from trunk to revise_chunks branch.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Mac OS X/32 10.6.4 (amazon) in debug mode
Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
|