summaryrefslogtreecommitdiffstats
path: root/src/H5Dproxy.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r23104] Purpose: Add object header flush dependenciesNeil Fortner2012-12-141-4/+4
| | | | | | | | | | | Description: Added flush dependencies between object header chunks. Also added a new object header proxy object, which is a child dependency of all object header chunks. All objects which are child dependencies of an object header should set up a flush dependency on the object header proxy, so the dependency applies to all object header chunks. Tested: ummon; jam (fails ph5diff -v, unrelated), koala, ostrich (h5committest)
* [svn-r22600] Description:Quincey Koziol2012-07-251-62/+62
| | | | | | | | 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)
* [svn-r22187] Purpose: Fix dsets failure on ostrichNeil Fortner2012-03-291-5/+8
| | | | | | | | | | | | | | | 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
* [svn-r22105] Description:Quincey Koziol2012-03-211-11/+11
| | | | | | | | | | 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
* [svn-r22062] Purpose: Fix bugs in chunk cache's SWMR implementationNeil Fortner2012-03-131-0/+1
| | | | | | | | | | | | | | | | | | | | | 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.
* [svn-r21989] Purpose: Add SWMR capability to v1 b-treeNeil Fortner2012-02-271-6/+90
| | | | | | | | | | | | | | | | | | | | | 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
* [svn-r19330] Description:Quincey Koziol2010-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | Bring r19109:19328 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
* [svn-r19050] Description:Quincey Koziol2010-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | Bring r18704:19049 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, in production 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.3 (amazon) in debug mode Mac OS X/32 10.6.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r18708] Description:Quincey Koziol2010-05-051-1/+1
| | | | | | | | Bring r18638:18704 from trunk to revise_chunks branch. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug & production (h5committest not required on this branch)
* [svn-r18451] Description:Quincey Koziol2010-03-251-0/+1
| | | | | | | | | | | | | | | | | | Bring r18172:18446 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r18175] Description:Quincey Koziol2010-01-281-4/+2
| | | | | | | | | | | | | | | | | | Bring r17986:18172 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r17278] Description:Quincey Koziol2009-07-301-5/+8
| | | | | | | | Bring r17272:17276 from trunk to revise_chunks branch. tested on: FreeBSD/32 6.3 (duty) h5committest not required on this branch
* [svn-r17085] Description:Quincey Koziol2009-06-181-2/+4
| | | | | | | | | | | | | | | | | | | | | Bring r17002:17084 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/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.5.7 (amazon) in debug mode Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17007] Description:Quincey Koziol2009-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Final stage of connecting all the pieces of a chunked dataset with an extensible array index together to fully enable SWMR-write access properly. This change makes the dataset's object header depend on the extensible array header, so that the extensible array must be fully synchronized to disk before the object header (which contains possibly updated dimensions for the dataset) is written to disk. 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/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.5.7 (amazon) in debug mode Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r16988] Description:Quincey Koziol2009-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | Refactor layout initialization so that chunk index information can be set for extensible array indices. 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/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) 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, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.5.6 (amazon) in debug mode Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r16985] Description:Quincey Koziol2009-05-271-0/+520
Interim checkin of work toward closing race condition window which can cause errors when reading a file that is used for SWMR-write access. This change introduces a chunk proxy in the metadata cache, which participates in the metadata cache's flush dependencies while representing a raw data chunk in a dataset's chunk cache. Also, the extensible array's SWMR behavior is only invoked when the file is opened for SWMR-write access, allowing more flexibility in flushing extensible array data structure pieces when SWMR-write is not enabled. 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/C++ & FORTRAN, w/threadsafe, in debug mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode Mac OS X/32 10.5.6 (amazon) in debug mode Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode