summaryrefslogtreecommitdiffstats
path: root/src/H5Cprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* Checkin of fix for CGNS bugmainzer2017-04-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://jira.hdfgroup.org/browse/HDFFV-10055). Briefly, in H5C_collective_write() in H5Cmpio.c, the metadata cache attempts to perform a collective write of metadata cache entries. This worked fine as long as all processes had at least one entry to write. However, when the process has no entries, the function tries to participate in the collective write by calling MPI_File_set_view(), MPI_File_write_all() and then MPI_File_set_view() again, to match the calls in H5FD_mpio_write(). After pull request 183, the CGNS test benchmark_hdf5 started failing. On investigation, I determined that the failure occurred in the first call to MPI_File_set_view() in the "no data to write" path through H5C_collective_write(). Note that pull request 183 did not create the problem, it only exposed it. The bug can be observed after pull request 182 if one executes the CGNS progam src/ptests/benchmark_hdf5 with 90 processes. The problem appears to have been that the calls to MPI_File_set_view() in H5C_collective_write() and H5FD_mpio_write() were using different values for the info parameter. I patched the problem by adding a MPI specific VFD call allowing me to get the MPI_Info used in H5FD_mpio_write() for use in MPI_File_set_view() calls in H5C_collective_write(). Tested serial & parallel, debug & production on Jelly.
* Revert "Switch h5clear for cache images to use existing ↵Quincey Koziol2017-03-221-0/+1
| | | | | | H5Pget_cache_image_config()" This reverts commit dd5105fc9912c77f6d6074700d83e5e8282e86c9.
* Final merge of page buffering branch to developQuincey Koziol2017-03-141-0/+5
|
* Minor cleanups and bring over "prefetched dirty" fixes for entries loaded fromQuincey Koziol2017-03-121-8/+50
| | | | a cache image.
* Normalize against incoming page buffering changes.Quincey Koziol2017-03-011-2/+3
|
* Corrected version of 4b5e05c084f93c35dae946c2c9e814d565a613b0:Quincey Koziol2017-02-281-4/+4
| | | | | Fix some more signed -> unsigned value issues with cache data structures, also misc. style cleanups. All to align w/incoming page_buffering changes.
* Revert "Fix some more signed -> unsigned value issues with cache data ↵Quincey Koziol2017-02-281-3/+3
| | | | | | structures, also" This reverts commit 4b5e05c084f93c35dae946c2c9e814d565a613b0.
* Fix some more signed -> unsigned value issues with cache data structures, alsoQuincey Koziol2017-02-231-3/+3
| | | | misc. style cleanups. All to align w/incoming page_buffering changes.
* Cache image feature and testingQuincey Koziol2017-01-291-4/+470
|
* Bring change to use array of metadata cache entry classes for H5C_createQuincey Koziol2017-01-281-2/+2
| | | | instead of array of class names from cache image branch.
* Switch list lengths to unsigned integers (to align better w/cache image merge)Quincey Koziol2017-01-281-1/+1
|
* Bring changes to metadata cache "get entry status" call and newQuincey Koziol2017-01-061-1/+19
| | | | | "child serialized / unserialized" messages and support from the cache image branch.
* Add "image up to date" flag / parameter to metadata cache entry status calls.Quincey Koziol2017-01-061-1/+2
|
* Bring file shutdown code from cache image branchQuincey Koziol2017-01-051-1/+7
|
* 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)