summaryrefslogtreecommitdiffstats
path: root/src/H5C.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r27165] Merge 27133 & 27158 from trunk:Mohamad Chaarawi2015-06-081-23/+23
| | | | | | | | | - Add a new attribute function characterstic for format: * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* [svn-r25996] - merge changes from trunk to eliminate usage of IS_H5FD_MPI Macro.Mohamad Chaarawi2015-01-211-1/+1
| | | | | | - add 2 missing feature flags for VFDs: H5FD_FEAT_HAS_MPI & H5FD_FEAT_ALLOCATE_EARLY and use them as appropriate. tested with h5commitest
* [svn-r25109] Description:Quincey Koziol2014-04-251-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r25084, 25088, 25092, 25097 from trunk to 1.8 branch: r25084: Begin process of migrating from using property list IDs internally to the library to using the internal generic property list data structure. r25088: Introduce "file I/O info" struct, to hold file & dxpl pointers, and start propagating up through library. r25092: 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. r25097: Make progress toward moving from DXPL IDs to property list structures within the library. Also move the signature location code from the H5F package to the H5FD package, where it's a better fit. Also, clean up some more compiler warnings along the way. Tested: Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel (h5committested on trunk)
* [svn-r24021] Description:Quincey Koziol2013-08-181-0/+4
| | | | | | | | | | Bring r24020 from trunk to 1.8 branch: Clean up compiler warnings Tested on: Mac OSX/64 10.8.4 (amazon) w/C++ & FORTRAN (too minor to require h5committest)
* [svn-r23719] Description:Quincey Koziol2013-05-291-5/+5
| | | | | | | | | | | | Bring r23713 and r23717 from trunk to 1.8 branch: Clean up warnings, switch library code to use Standard C/POSIX wrapper macros, remove internal calls to API routines, update checkapi and checkposix scripts. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN Big-Endian Linux/64 (ostrich)
* [svn-r23535] Description:Quincey Koziol2013-04-031-22/+15
| | | | | | | | | | | Bring r23529 from trunk to 1.8 branch: Stop aliasing property to indicate internal collective metadata operations with property to perform collective raw data operations from the application. Tested on: Mac OSX/64 10.8.3 (amazon) w/parallel (daily tests on trunk)
* [svn-r21925] Description:Quincey Koziol2012-02-101-52/+52
| | | | | | | | | | | | | | Bring r21919-21924 from trunk to 1.8 branch: cleanup FUNC_ENTER macros, etc. Also removed Subversion mergeinfo tags from a few directories and files. These are artifacts from non-root merges using pre-1.6 Subversion clients. (This should fix the problem of unchanged directories looking "changed" during checkins.) Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & production (daily tested on trunk)
* [svn-r21646] Port r21603 to 1.8 branchNeil Fortner2011-10-211-2/+2
| | | | | | | | | | | | | | | Purpose: Add generic skip list implementation Description: Added new H5SL_TYPE_GENERIC skip list type, which uses void *'s as keys and a client-supplied callback for key comparison. This was added to support the upcoming "merge named datatype" feature for H5Ocopy, but may be used in other places as well. Also added testing. Also fixed a potential bug with the H5SL_TYPE_OBJ implementation, and added testing for that. Tested: jam, koala, heiwa (h5committest), durandal
* [svn-r21605] Back out r21604 (wait for code freeze to be lifted)Neil Fortner2011-10-181-2/+2
|
* [svn-r21604] Port r21603 to 1.8 branchNeil Fortner2011-10-181-2/+2
| | | | | | | | | | | | | | | Purpose: Add generic skip list implementation Description: Added new H5SL_TYPE_GENERIC skip list type, which uses void *'s as keys and a client-supplied callback for key comparison. This was added to support the upcoming "merge named datatype" feature for H5Ocopy, but may be used in other places as well. Also added testing. Also fixed a potential bug with the H5SL_TYPE_OBJ implementation, and added testing for that. Tested: jam, koala, heiwa (h5committest), durandal
* [svn-r19655] Description:Quincey Koziol2010-10-211-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r19654 from trunk to 1.8 branch: Bring Coverity revisions from branch back to trunk, and clean up some other misc. compiler warnings also. r19500: Fix coverity items 1446 and 1447. Moved up calls to memset in test_cont in ohdr.c so the test never tries to close uninitialized locations. r19501: Fix coverity items 1398-1445. Various uninitialized variable errors in fheap.c. r19502: Fixed coverity issue 579 and some additional warnings in the file as well. r19503: Bug fix: This fix addressed the "RESOURCE_LEAK" problems #789 and 790, run 26 r19504: minor mods to try to keep coverity from flagging false positives. r19505: Fixed coverity issues 566 - 571. Declared variables that are passed to functions that use them as arrays to be arrays of size 1. Tested on: Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel (h5committested on coverity branch)
* [svn-r19621] Port fo fix for the round robin parallel flush bug caused by ↵John Mainzer2010-10-171-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | the failure of the H5Ocache.c code to update its image of the on disk representation of the object header on a call to 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-r19588] Description:Quincey Koziol2010-10-131-1/+1
| | | | | | | | | | | | | | | | | | | | Bring r19587 from trunk to 1.8 branch: Address issue with object headers being created getting evicted from the metadata cache cache before they are completely initialized. This is done by pinning the object header in the cache until it is completely initialized and attached to a group. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, 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
* [svn-r19542] Description:Quincey Koziol2010-10-071-1/+1
| | | | | | | | | | Bring r19541 from trunk to 1.8 branch: Correct assert statement to acount for pinned entries. Tested: Linux/64 2.6 (chicago) (too peculiar to Chicago setup h5committest)
* [svn-r19115] Description:Quincey Koziol2010-07-201-70/+4
| | | | | | | | | 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 (too simple to require h5committest)
* [svn-r19097] Description:Quincey Koziol2010-07-191-193/+628
| | | | | | | | | | | | | | | | | | | | | | | Bring r19096 from trunk to 1.8 branch: 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-r18920] Description:Quincey Koziol2010-05-271-53/+41
| | | | | | | | | | | | | | | | | | Bring r18917 from trunk to 1.8 branch: Bring r18911 (plus some adaptions to match the code on the trunk) from the metadata journaling "merging" branch to the trunk: More general changes to align trunk with eventual changes from metadata journaling 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
* [svn-r18865] Description:Quincey Koziol2010-05-201-711/+6
| | | | | | | | | | Bring r18864 from trunk to 1.8 branch: General cleanups to align metadata journaling branch and trunk Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r18851] Description:Quincey Koziol2010-05-181-65/+2
| | | | | | | | | | | | | | | | Bring r18837 from trunk to 1.8 branch: 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 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 (h5committested on trunk)
* [svn-r18792] Description:Quincey Koziol2010-05-131-4/+3
| | | | | | | | | Correct error in H5C_resize_entry() where protected entry sizes were not updated if the entry being resized was both pinned and protected. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r18741] Description:Quincey Koziol2010-05-071-39/+37
| | | | | | | | | | | | | | Bring r18740 from trunk to 1.8 branch: Bring r18738 from metadata journaling 'merging' branch to trunk: Switch H5AC_resize_pinned_entry() to work on protected entries as well, and rename to H5AC_resize_entry() Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode (h5committested on trunk)
* [svn-r18726] Description:Quincey Koziol2010-05-061-72/+46
| | | | | | | | | | | | Bring r18725 from trunk to 1.8 branch: Bring r18724 from metadata journaling 'merging' branch to trunk: Rename H5[A]C_rename to H5[A]C_move_entry. Tested on: FreeBSD/32 6.3 (duty) w/debug (h5committested on trunk)
* [svn-r18722] Description:Quincey Koziol2010-05-061-115/+5
| | | | | | | | | | | | | | | Bring r18721 from trunk to 1.8 branch: Bring r18720 from metadata journaling merging branch to trunk: Bring changes from metadata journaling branch to 'merging' branch: Rename H5[A]C_mark_pinned_or_protected_entry_dirty() to H5[A]C_mark_entry_dirty() and get rid of H5[A]C_mark_pinned_entry_dirty(). Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r18704] Description:Quincey Koziol2010-05-051-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | Bring r18702 from trunk to 1.8 branch: Bring r18672 from metadata journaling "merging" branch to trunk: Mostly changes to move to only using one 'user data' parameter for calls to H5AC_protect(), along with some minor reformatting code cleanups. 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
* [svn-r18622] Description:Quincey Koziol2010-04-231-4/+10
| | | | | | | | | | Bring r18621 from trunk to 1.8 branch: Clean up compiler warnings. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug (too minor to require h5committest)
* [svn-r18574] Description:Quincey Koziol2010-04-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | Bring r18571 from trunk to 1.8 branch: Bring r18542 from metadata journaling "merging" branch to trunk: Bring new object header pin/unpin & protect/unprotect routines and split-out object header chunk proxy changes from metadata_journaling branch to "merging" branch, along with some other minor tweaks to clean up compiler warnings, etc. Also: clean up chunk protect/unprotect calls when allocating or freeing space in a chunk, optimize metadata accumulator code to avoid some re-reading of information from the file, refactor H5O_pin/H5O_unpin from way they are done on the merging branch back to way they were previously done on trunk, other minor code cleanups, etc. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode (h5committested on trunk)
* [svn-r18461] Description:Quincey Koziol2010-03-261-350/+320
| | | | | | | | | | | | | | | | | | | | | Bring r18460 from trunk to 1.8 branch: Fold metadata journaling changes into the trunk: mostly tweaky small stuff, also removed the H5F_t* field from the H5G_entry_t struct. 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-r18231] Description:Quincey Koziol2010-02-111-2577/+0
| | | | | | | | | | | | | | | Bring r18230 from trunk to 1.8 branch: Bring r18229 from metadata journaling "merging" branch into trunk: Bring r18227 from metadata_journaling branch to the merging branch: Small cleanups and move v1 cache maintenance macros into package header file, to better align with changes to v2 cache. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r18198] Description:Quincey Koziol2010-01-301-65/+65
| | | | | | | | | Trim trailing whitespace from source code files, with following command: find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//' Tested on: None - eyeballed only
* [svn-r18172] Description:Quincey Koziol2010-01-271-230/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18171 from trunk to 1.8 branch (with appropriate tweaks): Bring r18169 from 'merge_metadata_journaling' branch back to trunk: Converge changes on metadata_journaling branch and trunk: - Remove H5F_t* parameter from H5HL_unprotect() - Remove H5F_t* parameter from H5HL_dirty() - Remove H5F_t* parameter from H5O_unprotect() - Bring changes to metadata caching routines back: - H5AC_pin_protected_entry() - H5AC_resize_pinned_entry() - H5AC_unpin_entry() - H5AC_mark_pinned_entry_dirty() - H5AC_mark_pinned_or_protected_entry_dirty() - Revise internal H5C routines to drop H5F_t* and/or H5C_t* as parameter where possible - Revise tests to follow internal routine changes Also, other minor changes to speedup the 'cache' test. 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 Mac OS X/32 10.6.2 (amazon) in debug mode Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
* [svn-r18073] Description:Quincey Koziol2010-01-071-3/+3
| | | | | | | | | | | | | | | Bring r18072 from trunk to 1.8 branch: Bring r18071 from metadata journaling merge branch: Refactor local heap routines with changes from metadata journaling branch, along with other misc. changes as the changes on the metadata journaling branch are being converged with the current state of the trunk. Tested on: Mac OS X/32 10.6.2 (amazon) debug & prod Linux/64 2.6 (amani) prod FreeBSD/64 (liberty) prod
* [svn-r17982] Description:Quincey Koziol2009-12-101-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r17980 from trunk to 1.8 branch: Bring Coverity changes into the trunk: (also other minor cleanups) r17955: Fix Coverity item 24. Add missing error condition to H5AC_ext_config_2_int_config. r17956: Fix Coverity item 24. Improve error checking in H5A_compact_build_table_cb. r17957: Fix Coverity item 150. Fix warning in H5A_compact_build_table_cb. r17958: Fix Coverity item 117. Fix error handling in H5B_shared_new. r17959: Fix Coverity item 209. Added an assertion for leaf->shared in H5B2_cache_leaf_dest. r17960: Fix Coverity item 208. Added an assertion for internal->shared in H5B2_cache_internal_dest. r17961: Fix Coverity item 89. Reworked the code to avoid array overrun in H5C__autoadjust__ageout__insert_new_marker. r17962: Fix for coverity Resource_leak 195,203,204,205. r17963: Fix Coverity item 44. Prevented potential NULL dereference in H5D_btree_debug. r17964: Fix Coverity issues #197, 198 & 199: memory not being released. (Also clean up other resource leaks in nearby and/or similar code). r17965: Fix Coverity issue #151: release resources on error r17966: Fix Coverity issue #187: Remove leftover code remnant from prior bugfix which was causing resource leak of open files. r17967: Fixed Coverity issues # 193 & 194. Removed unnecessary memory allocation and added comparison of length of path parameter to the size of the destination buffer in h5import.h/h5import.c. r17968: Fix Coverity item 144. Fixed memory leak on error in H5D_chunk_copy. r17969: Fix for coverity Resource_leak #196. r17970: Coverity 167-173: Initialized pointer of buffers. In error handling, closed types and free memory. Tested on: FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode (h5committested on trunk)
* [svn-r17462] Description:Quincey Koziol2009-09-101-4/+4
| | | | | | | | | | Bring r17461 from trunk to 1.8 branch: Fix a few more problems when the user block is not aligned properly. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r17415] Description:Quincey Koziol2009-08-241-90/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r17408, 17411, 17412, 17413 & 17414 from trunk back to 1.8 branch: r17408: Move flush operation on mounted file hierarchy into H5Fmount module. r17411: Make H5AC_flush just flush the cache and make H5AC_dest perform the proper parallel synchronization before destroying the cache. Also, further discriminate between 'closing' and 'non-closing' actions in H5F_flush. r17412: Seperate 'flush' functionality from 'destroy' functionality at the H5F level also. r17413: Remove vestigial intermediate routine for flushing file and move it into API routine. Also, remove private, unused (now) 'H5F_FLUSH_DOWN' symbol from public header file. r17414: Flush the core VFD's buffer before closing the file, also flush the metadata accumulator before reseting it. Write the driver info message out in the superblock flush routine more directly, instead of using wrapper routine, since the wrapper routine won't work when the superblock is being shutdown. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committest performed on trunk)
* [svn-r17354] Description:Quincey Koziol2009-08-131-0/+4
| | | | | | | | | | | | | Bring r17351 from trunk to 1.8 branch: Clean up code (to align w/future sblock_mdc branch changes), tweak tests for [slightly] easier debugging, fix memory leak when copying chunked datasets with I/O filters, fix memory leak of free space section when it was exactly the right size to use for extending an existing block in the file. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committest performed on trunk)
* [svn-r16920] Description:Quincey Koziol2009-05-051-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge these trunk revisions which occurred during the 1.8.3 release code freeze back to the 1.8 branch: From Quincey: 16845 16847 16849 16851 16858 16869 16897 From Ray: 16859 16880 From Allen: 16863 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-r16699] Purpose: Fix bug 503Neil Fortner2009-04-081-2/+1
| | | | | | | | | Description: Changed Skip list package to use a deterministic skip list. This allows the skip list package to avoid calling rand() and srand(), even on machines without rand_r(). There is no longer a p-value or maximum level for skip lists. Tested: jam, smirom, linew (h5committest)
* [svn-r16566] Description:Quincey Koziol2009-03-111-6/+0
| | | | | | | | Bring r16560 back from trunk. Tested on: Mac OS X/32 10.5.6 (amazon) debug & production (Following up with tests on more platforms)
* [svn-r16325] Purpose:Mike McGreevy2009-01-151-102/+77
| | | | | | | | | | | | | | | Code Cleanup Description: - Pulled out repetetive cache stats code into its own new macro. - Converted HDasserts in verification macros to if / HGOTO_ERROR statments in order to keep code consistent. Tested: jam (also tested smirom/liberty in trunk)
* [svn-r16291] Purpose:Mike McGreevy2009-01-091-185/+634
| | | | | | | | | | | | | | | svn merge Description: merging revision 16290 from trunk to 1.8 (revision 16290 contains the code that maintains a min_clean_fraction of the metadata cache in serial). Tested: smirom, jam
* [svn-r15801] Description:Quincey Koziol2008-10-071-11/+71
| | | | | | | | | | | | | | | | | | | | | | | Bring r15800 back from trunk: - File free space branch changes through r15794 Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) 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 production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15629] Description:Quincey Koziol2008-09-161-167/+167
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r15513] Description:Quincey Koziol2008-08-211-3/+3
| | | | | | | | | | Bring back r15510 & r15512 from trunk: Fix compiler warnings and formatting. Tested on: Mac OS X/32 10.5.4 (amazon) More tests upcoming
* [svn-r14458] Fixed coredump under production 64-bit solaris.John Mainzer2008-01-251-13/+30
| | | | | | | | | | | | | | | | As best I can tell, H5C_make_space_in_cache() was accessing memory that had been deallocated -- however the bug was easy to mask, and jumped around even in different runs of the same executable. While I was never able to generate a definitive test case that exposed exactly where the core dump occured, I was able to generate print statement traces which made it clear that I was accessing freed memory. In any case, reworking the code to avoid the reference to freed cache entries seems to have fixed the problem. Tested serial production on Phoenix, and commit tested. Also, partial tests Linew.
* [svn-r14450] Fixed metadata cache performance bug introduced while adding ↵John Mainzer2008-01-231-11/+12
| | | | | | | | | | | code to detect and handle the case in which the skip list or LRU is modified out from under a scan of same by the flush callback of the entry under consideration. Test serial debug, serial production, and parallel debug on phoenix, and commit tested.
* [svn-r14445] Added code to detect the situation in which a metadata cache ↵John Mainzer2008-01-201-35/+501
| | | | | | | | | | | | | | entry flush callback functions modifies the skip list or LRU out from under a partial or complete flush of the cache. This is a test for a situation that should not occur, but we test anyway. Also added code to skip longer tests in cache_api in express tests. Tested serial and parallel on phoenix (debian --x86-32), and commit test. Elena commit tested as well, and ran a manual test under MacOS X.
* [svn-r14442] Modified metadata cache to adapt more quickly to the insertion of aJohn Mainzer2008-01-181-10/+443
| | | | | | | | | | | | | | | | | large entry, or to a large increases in the size of an existing entry. This required some additions to the cache configuration structure, and thus will require changes in the metadata cache documentation. The basic idea is to monitor the size of entries as they are loaded, inserted, or increased in size. If the size of the entry (or increase) exceeds some user selected fraction of the size of the cache, increase the size of the cache. Note that this fix was designed quickly -- while it deals with the use case that exposed the problem, we may have to revisit the issue later. Tested serial and parallel on Phoenix, and h5committest.
* [svn-r14064] Implemented function allowing the user to cork the metadata cache.John Mainzer2007-08-101-8/+132
| | | | Also implemented associated test code.
* [svn-r13690] Description:Quincey Koziol2007-04-191-13/+1
| | | | | | | | | | | | | Fully enable readers/writer locking in metadata cache and correct errors in cache clients which were modifying a cache entry while only holding a read lock on it. Tested on: Mac OS X/32 10.4.9 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [svn-r13618] Modified metadata cache to support multiple read only protects of John Mainzer2007-04-091-213/+501
| | | | | | | | | | cache entries. Added test code to test the new feature. Also some minor cleanum h5committested -- passed on copper and sol. Failed on osage with a configuration error that appears unrelated to my changes. Serial test (debug mode) passes on Phoenix (Linux x86 2.6 kernel), so I went ahead with the checkin.