summaryrefslogtreecommitdiffstats
path: root/src/H5SM.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r21557] Port r21556 to 1.8 branchNeil Fortner2011-10-141-107/+159
| | | | | | | | | | | | | | | Purpose: Fix bug in H5Ocopy Description: H5Ocopy could get confused when copying a named datatype containing an attribute which used that named datatype as its datatype. This happened because H5Ocopy would recurse into the attribute's datatype before the object the attribute was in was fully copied (i.e. before the "post-copy" pass). Modified H5Ocopy to avoid recursing before the post-copy step in this case. Required many changes, including to how non-committed shared messages are copied. Tested: jam, koala, heiwa (h5committest); durandal
* [svn-r21555] The first part fix for bug HDFFV-7640: does not need to do ↵Vailin Choi2011-10-131-2/+6
| | | | | | H5O_move_msgs_forward() when writing attributes. h5committested. Tests are checked into the performance suite.
* [svn-r21136] Description:Quincey Koziol2011-07-211-47/+48
| | | | | | | | | | Bring r21135 from trunk to 1.8 branch: More code cleanups to reduce coupling with the H5F package. Tested on: FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode (h5committested on trunk)
* [svn-r19274] Description:Quincey Koziol2010-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | Bring r19272 & 19273 from trunk to 1.8 branch: Close out various resource leaks and usages of uninitialized memory that were flagged by valgrind. [There's still some more valgrind warnings, but it's better now... :-/ ] Also clean up warnings and code formatting. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production 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-r19115] Description:Quincey Koziol2010-07-201-2/+2
| | | | | | | | | 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-r18920] Description:Quincey Koziol2010-05-271-41/+27
| | | | | | | | | | | | | | | | | | 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-13/+60
| | | | | | | | | | 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-r18704] Description:Quincey Koziol2010-05-051-17/+43
| | | | | | | | | | | | | | | | | | | | | | | | | 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-r18596] Description:Quincey Koziol2010-04-201-3/+3
| | | | | | | | | | Bring r18595 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-3/+2
| | | | | | | | | | | | | | | | | | | | | | | 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-r18521] Description:Quincey Koziol2010-04-061-0/+57
| | | | | | | | | | | | | Bring r18520 from trunk to 1.8 branch: Bring r18519 from metadata journaling "merging" branch to trunk: Converge metadata_journaling branch and trunk: separate destroy routines for data structures from cache callbacks. 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-r18032] Description:Quincey Koziol2009-12-171-1/+1
| | | | | | | | | | | | | | | | | Bring r18031 from trunk to 1.8 branch: Bring r18030 from merge_metadata_journaling branch to trunk: Bring "brush clearing" changes (whitespace & style issues, mostly) from metadata_journaling branch to the "merging" branch, to converge the trunk and the metadata_journaling branch. Also, some other minor cleanups along the way. 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-r17944] Description:Quincey Koziol2009-12-011-90/+11
| | | | | | | | | | | Bring r17943 from trunk to 1.8 branch: Finish refactoring v2 B-trees so that they can have client callback context provided to the encode/decode callbacks. Tested on: FreeBSD/64 6.3 (liberty) (h5committested on trunk)
* [svn-r17894] Description:Quincey Koziol2009-11-151-9/+9
| | | | | | | | | | | | | | Bring r17893 from trunk to 1.8 branch: Remove old shim H5B2 routines from refactoring, rename new routines to old routine names and switch all users of the H5B2 interface back to the old routine names now that the switch to using the more current open -> <operation> -> pattern is used for all the H5B2 code. This is the final change before adding a context to the H5B2 client encode/decode callbacks. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r17892] Decription:Quincey Koziol2009-11-141-134/+202
| | | | | | | | | | | Bring r17891 from trunk to 1.8 branch: Switch the shared object header messages code to use the refactored v2 B-tree routines. (this should be the interface that is using them) Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r17843] Description:Quincey Koziol2009-11-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r17842 from trunk to 1.8 branch: Further refactor v2 B-tree code toward being able to pass context info down to encode/decode client callbacks: - Separate H5B2_create call to return H5B2_t structure - Make loading the v2 B-tree header pick up the client class from the ID stored in the file. Simplify some internal API calls as a result. 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 (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.6.1 (amazon) in debug mode Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17741] Description:Quincey Koziol2009-10-241-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | Bring r17740 from trunk to 1.8 branch: Refactor v2 B-tree code to take creation parameters to H5B2_create() as a struct (instead of individual arguments), call the client's class "cls" instead of "type" internally, and add client class name to client class 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 (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.6.1 (amazon) in debug mode Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode
* [svn-r17354] Description:Quincey Koziol2009-08-131-5/+5
| | | | | | | | | | | | | 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-r17266] Description:Quincey Koziol2009-07-301-1/+1
| | | | | | | | | Clean up various compiler warnings from IRIX64 build Tested on: Mac OS X/32 (amazon) debug & production (yes, I know it's not an IRIX64 system :-) Too minor to require h5committest
* [svn-r16474] Purpose: fix problems related to 'self-referential' attributesNeil Fortner2009-02-121-1/+1
| | | | | | | | | | | | Description: When an attribute was created with a datatype or dataspace that was shared in the same object header that the attribute was in, the attribute could not be deleted. Changes made to ensure that the attribute can be deleted both when the attribute is in the object header and when it is shared in the heap. Object header message decode routines now take an "open_oh" parameter to enable them to avoid opening the same object header twice. Tested: jam, smirom (h5committest)
* [svn-r15863] Description:Quincey Koziol2008-10-141-15/+19
| | | | | | | | | | | | | | | | | | | | | Bring r15861 back from trunk to 1.8 release branch. 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-r15801] Description:Quincey Koziol2008-10-071-14/+26
| | | | | | | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | 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-r15478] Removed vestigal code from H5SM_delete_from_index() which would ↵Neil Fortner2008-08-171-11/+0
| | | | | | | | | have dereferenced an uninitialized pointer if it had been reachable. Closes bz #1280. Tested: kagiso, smirom, linew (h5committest)
* [svn-r14358] Description:Quincey Koziol2007-12-231-14/+10
| | | | | | | | | | | | | | | | | | | Tweak the constants for the shared message flags to be equal to the other flags useds for the underlying messages. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14085] Description:Quincey Koziol2007-08-141-3/+17
| | | | | | | | | Refactor H5HF_size() size statistics code for fractal heap to conform to how the rest of the fractal heap routines work. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.10 (amazon)
* [svn-r14003] Description:Quincey Koziol2007-07-241-0/+1
| | | | | | | | | | Code cleanup & whitespace fixups Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Mac OS X/32 10.4.10 (amazon)
* [svn-r13984] Description:Quincey Koziol2007-07-171-26/+25
| | | | | | | | | | | Various code cleanups and refactor recent changes for h5stat to fit into the existing library data structures better. Tested on: Mac OS X/32 10.4.10 (amazon) FreeBSD/32 6.2 (duty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13978] purpose:Vailin Choi2007-07-131-0/+65
| | | | | | | | | | | | | | New feature. Description: Added routines to report on the amount of storage for: 1) 1.6 btree and heap storage info for groups 2) 1.8 btree, fractal heap storage info for groups, attributes and SOHM table 3) btree storage for chunked datasets 4) 1.8 superblock extension size. Platform tested: h5committested.
* [svn-r13926] Description:Quincey Koziol2007-06-291-1/+2
| | | | | | | | | | | | Add small interface to "wrap" a static buffer (usually on the stack), but still allow for buffers larger than the static buffer to be allocated. This can eliminate _many_ short-lived buffer allocations in situations where the buffer is a predictable size (or at least a "very likely" size). Also, some minor code cleanups, particularly in the SOHM caching code. Tested on: Mac OS X/32 10.4.10 (amazon)
* [svn-r13919] Description:Quincey Koziol2007-06-261-57/+14
| | | | | | | | | Clean up more redundant code for reading SOHM messages. Tested on: Mac OS X/32 10.4.10 (amazon) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13915] Description:Quincey Koziol2007-06-261-64/+75
| | | | | | | | | Clean up SOHM code, to copy message in H5HF_op call instead of separate calls to H5HF_get_obj_len() and H5HF_read(). Tested on: Mac OS X/32 10.4.9 (amazon) Linux/32 2.6 (chicago)
* [svn-r13796] Description:Quincey Koziol2007-05-231-33/+32
| | | | | | | | | Clean up ISOHM code further and get rid of several non-optimal ways of working with object headers. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.9 (amazon)
* [svn-r13771] Description:Quincey Koziol2007-05-191-0/+4
| | | | | | | Fix some more unitialized variables that were flagged by valgrind. Tested on: FreeBSD/32 6.2 (duty) w/valgrind
* [svn-r13770] Description:Quincey Koziol2007-05-191-3/+5
| | | | | | | Clean up various memory leaks, etc. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13753] Description:Quincey Koziol2007-05-141-247/+792
| | | | | | | | | | | | | Check in "unique, but sharable" optimization to ISOHM code, which allows object header messages that are only used in one object to remain in the sole user's header, but migrates messages that are used in more than one header into the ISOHM heap. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13500] Description:Quincey Koziol2007-03-121-0/+2
| | | | | | | | | Roll changes to SOHM v2 B-tree records into format, to get the format for them stable while I'm working on debugging the actual support for the "unique, but sharable" feature. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13477] Description:Quincey Koziol2007-03-081-0/+12
| | | | | | | | | | | | | | | | | | | | The main purpose of this checkin was to eliminate the space used for tracking creation time indices when there is no way they can be used (i.e. attributes can't be shared in the file and the user hasn't turned on attribute creation tracking), however there were some other minor changes which crept in: - Fix a cache locking deadlock when a shared attribute and one of its components end up in the same fractal heap direct block. (This is fixed the "slow" way for right now, until John has time to add support for readers/writer locking to the cache. - Optimize attribute copying when a copy will be kept during a v2 B-tree search. - When freeing a block on disk, attempt to merge it with the metadata and "small data" aggregators. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13413] Description:Quincey Koziol2007-02-271-30/+73
| | | | | | | | | | | | | Further cleanups to superblock code: - Move most of the ISOHM-specific code into the H5SM module - Make only one checksum, for combined superblock & driver info block Minor other cleanups, etc. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13375] Description:Quincey Koziol2007-02-221-20/+27
| | | | | | | | | | Straighten out some of the code for handling superblocks, in preparation for revising the format of the latest version of the superblock before the beta release. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13367] Description:Quincey Koziol2007-02-211-28/+126
| | | | | | | | | | Allow "big" attributes to push attribute storage into "dense" form immediately, to accomodate storing the attribute. (This is only allowed in the "latest" version of the format). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13344] Description:Quincey Koziol2007-02-201-3/+4
| | | | | | | | More progress on attribute deletion by index. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13340] Fixed a bug where shared messages with the same hash values ↵James Laird2007-02-201-40/+47
| | | | | | | | | | could be sorted in the wrong order. This also makes the "unique but shareable" checkin a little easier. Tested on smirom, kagiso, and juniper.
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r13224] Fixed a bug where messages would report their "raw size" as the ↵James Laird2007-01-301-13/+16
| | | | | | | | | | | | | | size of a shared message rather than the full size of the unshared message, which confused some shared message code. Added a test that should make sure that some messages are too small to be written to the deletion test in tsohm.c. Also added a small optimization so that hash values don't need to be calculated on deletes in list indexes. Tested on Windows, smirom, and kagiso.
* [svn-r13223] Description:Quincey Koziol2007-01-301-34/+27
| | | | | | | | | | | | Move datatype messages into new shared message method interface Clean up various formatting & compiler warnings Minor optimizations Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13219] Description:Quincey Koziol2007-01-291-18/+30
| | | | | | | | | | | Move dataspace messages into new shared header message method calling scheme. Minor other cleanups, etc. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13218] Description:Quincey Koziol2007-01-291-2/+0
| | | | | | | | | Add "old" fill value messages to "new" fill value message sharing (and keep them both in the same shared message index). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13217] Description:Quincey Koziol2007-01-291-1/+1
| | | | | | | | | | | Move fill value messages into new shared message method calling scheme. Only update an opened dataset's fill value property if it's different from the default fill value settings. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)