summaryrefslogtreecommitdiffstats
path: root/src/H5Cprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge code from cache image branch to split FSM ring into two types: raw dataQuincey Koziol2017-01-041-6/+9
| | | | and metadata. Also, some more ring reset safeties and minor code cleanups.
* Remove 'const' from cache client pre_serialize callback, to reduce warnings,Quincey Koziol2017-01-031-2/+2
| | | | | and correspondingly remove 'const' from some internal routines. Also rename some H5MF* routines to reflect their static/package usage.
* Bring support for doubly-linked list of all entries in cache from incomingQuincey Koziol2016-12-301-0/+21
| | | | cache image branch.
* More normalizations against incoming cache image branch.Quincey Koziol2016-12-291-28/+25
|
* Updated the H5FS cache code to grab the correct tag and modifiedDana Robinson2016-12-081-0/+1
| | | | | | | | the freespace test to use dxpls that have been tagged with the H5AC__FREESPACE_TAG global tag instead of H5AC_ind_read_dxpl_id. The library code now expects the owner of the free space manager to tag it so the owner-less free space managers in the freespace tag had to be tagged with *something* to avoid cache errors.
* Bring SWMR support in to the main development branch. (Finally!) More testsQuincey Koziol2016-12-021-1/+7
| | | | and the tool and API wrappers will be coming in over the weekend.
* Add a flag for H5C__flush_single_entry() to allow the parallel code to requestQuincey Koziol2016-11-251-0/+2
| | | | | that images for entries be generated, even when not writing the entry from an MPI rank.
* Bring over support for retrying metadata cache entry loads, along with all theQuincey Koziol2016-11-201-55/+110
| | | | supporting metadata cache callback changes, etc.
* Remove 'clear' callback from metadata cache client interface, using theQuincey Koziol2016-11-181-62/+1
| | | | new 'entry cleaned' notify action innstead.
* Remove explicit support within the metadata cache for tracked compressedQuincey Koziol2016-11-171-304/+49
| | | | entries, they are now completely handled in the clients.
* Bring over new 'notify' metadata cache client callback actions for when anQuincey Koziol2016-11-121-1/+5
| | | | | entry is cleaned / dirtied or its [flush dependency] child entry is cleaned / dirtied.
* Align w/minor cleanups in revise_chunks branch.Quincey Koziol2016-11-121-10/+25
|
* Clean up cache code to eliminate dead-ends and unify code.Quincey Koziol2016-11-101-17/+19
|
* Switch to new, more scalable, metadata cache entry tagging.Quincey Koziol2016-11-071-25/+6
|
* Add logging prototypes and cache struct fields.Quincey Koziol2016-11-041-0/+7
|
* [svn-r30118] Sync with trunk.Dana Robinson2016-06-291-36/+19
|\
| * [svn-r30112] Description:Quincey Koziol2016-06-281-36/+19
| | | | | | | | | | | | | | | | | | | | Move updated flush dependency code in metadata cache from revise_chunks branch to trunk. Also many of the cleanups from r30111 in the revise_chunks branch. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* | [svn-r30104] Fixes evict-on-close feature by propagating globalDana Robinson2016-06-241-1/+1
|/ | | | | flush flag up the function call stack and not setting it during H5Dclose().
* [svn-r30075] Description:Quincey Koziol2016-06-141-0/+1
| | | | | | | | | | Bring object/dataset/group/named datatype features from revise_chunks branch to trunk. Also CMake support for h5format_convert and a bunch of misc. cleanups. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r30068] Description:Quincey Koziol2016-06-131-1/+11
| | | | | | | | Bring metadata cache corking to trunk. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r30053] Description:Quincey Koziol2016-06-081-1/+1
| | | | | | | | | Create iterator routine for tagged entries and refactor current routines to use it. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29969] Description:Quincey Koziol2016-05-291-0/+1
| | | | | | | | | | | Bring r29934 from revise_chunks branch to trunk: (1) Fix for HDFFV-9434: throw an error instead of assertion when v1 btree level hits the 1 byte limit. (2) Modifications to better handle error recovery when conversion by h5format_convert fails. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29850] Description:Quincey Koziol2016-05-011-6/+29
| | | | | | | | | | Bring H5DOappend(), H5P[s|g]et_object_flush_cb, and H5P[s|g]et_append_flush from revise_chunks branch to trunk. Brings along updated metadata cache entry tagging, and the internal object flush routine. Tested on: MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29548] Minor normalization w/ trunk in preparation for big merge.Dana Robinson2016-03-241-2/+2
| | | | | | Tested on: 64-bit Ubuntu 15.10 w/ gcc 5.2.1 autotools serial autotools parallel (MPICH 3.1.4)
* [svn-r29077] Description:Quincey Koziol2016-02-101-1/+2
| | | | | | | | Normalize against the trunk, in preparation for final merge. Tested on: MacOSX/64 10.11.3 (amazon) w/serial & parallel (h5committest not required on this branch)
* [svn-r28959] merge from trunk.Mohamad Chaarawi2016-01-221-6/+2
|\ | | | | | | renaming metadata dxpl properties.
| * [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity ↵Mohamad Chaarawi2016-01-211-6/+2
| | | | | | | | | | | | | | | | | | | | checks from metadata dxpls - remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead. - remove flush_me_collectively flag from cache entries - add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit. tested on BB-8 with serial and parallel.
* | [svn-r28636] merge from trunk.Mohamad Chaarawi2015-12-141-3/+2
|\ \ | |/
| * [svn-r28452] Description:Quincey Koziol2015-11-231-3/+2
| | | | | | | | | | | | | | | | Normalization changes against revise_chunks branch. Tested on: MacOSX/64 10.11.1 (amazon) w/serial & parallel (h5committest forthcoming)
* | [svn-r27929] merge from trunk.Mohamad Chaarawi2015-10-011-0/+77
|\ \ | |/
| * [svn-r27710] Description:Quincey Koziol2015-09-091-0/+77
| | | | | | | | | | | | | | | | | | Bring the "metadata rings" code from its branch (mdc_rings_v2) to the trunk. (This change will support the page buffering feature) Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel (h5committest forthcoming)
* | [svn-r27436] merge from trunk.Mohamad Chaarawi2015-07-271-51/+59
|\ \ | |/
| * [svn-r27298] Description:Quincey Koziol2015-06-291-47/+53
| | | | | | | | | | | | | | | | | | Separate H5AC layer from using package-scoped pieces of the H5C layer, moving from including H5Cpkg.h to H5Cprivate.h. Tested on: MacOSX/64 10.10.3 (amazon) w/serial, parallel & production Linux/32 2.6.x (jam) w/serial & parallel
| * [svn-r27296] Description:Quincey Koziol2015-06-291-2/+2
| | | | | | | | | | | | | | | | | | Correct error with braces around macro (in production builds), also clean up a few warnings. Tested on: MacOSX/64 10.10.3 (amazon) w/serial, parallel & production Linux/32 2.6 (jam) w/serial & parallel
| * [svn-r27294] Description:Quincey Koziol2015-06-291-0/+2
| | | | | | | | | | | | | | | | | | | | Clean up parameters to H5C__flush_single_entry: accept cache entry instead of address, and make new flag for deleting entry from skiplist on destroy instead of a separate parameter to the routine. Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial & parallel
| * [svn-r27293] Description:Quincey Koziol2015-06-271-2/+2
| | | | | | | | | | | | | | | | Split parallel metadata cache code into separate source code modules. Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel (too minor for h5committest)
* | [svn-r27264] some cleanups.Mohamad Chaarawi2015-06-221-2/+1
| |
* | [svn-r27261] apply metadata enhancement patch that was based on the mdc 3 ↵Mohamad Chaarawi2015-06-211-0/+6
|/ | | | branch.
* [svn-r27237] Description:Quincey Koziol2015-06-181-135/+985
| | | | | | | | | Merge v3 metadata cache changes to trunk. Yay! :-) Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial & parallel (daily tested on branch)
* [svn-r27204] Description:Quincey Koziol2015-06-151-385/+232
| | | | | | | | | Clean up compiler warnings before merging in v3 metadata cache changes from branch. Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial & parallel
* [svn-r27199] Description:Quincey Koziol2015-06-131-7/+3
| | | | | | | | | Large code cleanups and optimizations, in preparation for the upcoming v3 metadata cache merge. Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial & parallel
* [svn-r27072] Description:Quincey Koziol2015-05-151-26/+26
| | | | | | | | Clean up H5B interface, to align w/v3 metadata cache changes Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.* (jam) w/serial & parallel
* [svn-r25321] Reworked and enhanced extreme sanity check in H5C.c, fixing an John Mainzer2014-06-181-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | uninitialized variable bug in passing. Added the H5C_get_entry_ptr_from_addr() and H5C_verify_entry_type() in H5C.c, along with their pass through functions in H5AC.c. Note that H5C_get_entry_ptr_from_addr() is quite slimey, and should be avoided if possible. Updated fractal heap to use flush ordering to force children in the hdr / iblock / dblock tree to be flushed prior to parents. This is part of a port of the fractal heap to the V3 cache, although I gather that it will also be useful for SWMR. Added sanity checking code to the fractal heap to verify that direct blocks are flushed before their parent indirect blocks, child indirect block are flushed prior to their parent indirect blocks, and that the root iblock or dblock is flushed prior to the header Tested on: Jam: Serial and parallel Phoenix (Debian): serial, debug and production amazon (MacOS): serial
* [svn-r25092] Description:Quincey Koziol2014-04-241-8/+8
| | | | | | | | | | More migration to using H5F_io_info_t pointers and away from using property list IDs internally. Also, clean up some compiler warnings in the cache code. Tested on: Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel (h5committest forthcoming)
* [svn-r22666] Description:Quincey Koziol2012-08-111-3/+24
| | | | | | | | | | Merge "flush me last" & "flush me collectively" feature from the avoid_truncate branch back to the trunk. (To help enable allowing the free space section info to reside in temporary address space) Tested on: Mac OSX/64 10.7.4 (amazon) w/debug, gcc 4.7.x, C++, FORTRAN & threadsafe (h5committest forthcoming)
* [svn-r19622] Port of fix for the round robin parallel flush bug caused by ↵John Mainzer2010-10-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | the failure of the H5Ocache.c code to update its image of the on disk representation of the object header on a call to the clear callback. This wasn't an issue as long as all flushes of the object header were made from the same process, but if an object header is modified, and then flushed on one process and cleared on the rest, the changes were not be reflected in the images of the on disk representation on all processes where the object header was cleared rather than flushed. If one of these processes did the next flush, the changes were lost in the on disk representation. Fixed this by causing all dirty messages and to be written to the copy of the on disk image maintained by the object header code on both flush and clear. Also added associated test code in t_mdset.c. Also checking in some cache debug code developed while chasing this bug. Commit tested and tested (parallel) on phoenix.
* [svn-r19114] Description:Quincey Koziol2010-07-201-4/+0
| | | | | | | | | Rename H5AC_set() to H5AC_insert_entry() Get rid of H5C_set_skip_flags() & related flags Tested on: Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel (too simple to require h5committest)
* [svn-r19096] Description:Quincey Koziol2010-07-191-1/+25
| | | | | | | | | | | | | | | | | | | | | Bring "round robin" metadata write strategy code from 'round_robin' branch to the trunk. 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-r19005] Purpose:Mike McGreevy2010-06-151-0/+6
| | | | | | | | | | | | | | | | | | | | | | | Commit metadata tagging framework. Description: This check-in contains a new framework whose goal is to apply a tag value to each new entry in the metadata cache as it is created. This tag value is such that it relates each piece of metadata to the HDF5 object that it belongs to (dataset, group, et cetera). This changeset includes the framework that applies the tags as well as a suite of tests to verify correct tag application, though does not yet make use of the tag values to flush/evict individual objects. Please refer to the "flush/evict individual objects" RFC for further discussion of these changes. Tested: jam, amani, linew (h5committest) liberty, abe, blue print
* [svn-r18837] Description:Quincey Koziol2010-05-181-11/+8
| | | | | | | | | | | | | | | | | | | | | | Remove the size parameter from H5[A]C_unprotect() and the H5[A]C__SIZE_CHANGED_FLAG, switching all clients & tests over to using H5[A]C_resize_entry appropriately. 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 production 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