summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r15388] Description:Quincey Koziol2008-07-201-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert object header cache client to use the new metadata journaling cache, which included adding a new client for handling continuation chunks. Added "real" protect calls around modifying chunks in object headers. Switched a few more metadata cache library API routines to drop the file pointer, when it is not needed (pinning/unpinning entries, etc.) Fixed bug in journaling cache handling of 'image_len' callbacks and also changed cache to retry deserializing entries when the entry's size is larger than the speculative size initially tried. Retrying for 'image_len' callbacks has problems with the 'multi' VFD, so the h5dump and FORTRAN 'multi' tests are commented out, until the changes to the 'multi' VFD from the file free space branch are brought back into the trunk. Currently, the 'h5recover' tool has a bug which requires it to be run twice before replaying the journal "sticks". However, this is from an earlier checkin, since the code in the branch already has this behavior... :-( 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.5.4 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15295] Description:Quincey Koziol2008-06-301-0/+6
| | | | | | | | | | | | | | | | | Merge revisions 15130:15210 from trunk into metadata journaling branch 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 Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15237] Description:Quincey Koziol2008-06-181-2/+2
| | | | | | | | | | | | | | | | | | Merge revisions 14900:15037 from trunk into metadata journaling branch 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.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15221] Description:Quincey Koziol2008-06-161-7/+14
| | | | | | | | | | | | | | | | | | Bring changes from trunk from the time the branch was created (r14280) up to the 1.8.0 release (r14525) back into the metadata journaling branch. 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 Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14711] Added test code and associated bug fixes for the metadata ↵John Mainzer2008-03-071-38/+16
| | | | | | | | | journaling superblock extension message. Created the file src/H5Omdj_msg.c and moved journaling superblock extension message to it. Tested serial on Phoenix, and parallel on Kagiso.
* [svn-r14594] Ported flash cache size increase code into the journaling branch --John Mainzer2008-02-181-1/+58
| | | | | | | | | | | | | | | | | note that both the H5C and H5C2 code have been updated. Also checked in code to track journaling status in the super block. Note that this code has not been tested -- but as best I can tell, it does not break the existing regression tests. Tested serial (debug and production) on Phoenix. Also tested parallel on kagiso. Note that regression test fails on kagiso (but not on phoenix) if the cache2 serial tests are configured to use the core file driver. Thus this code is check in with the core file driver optimization of the cache2 tests disabled. To turn it on, set the USE_CORE_DRIVER #define to TRUE.
* [svn-r14238] Bug fix: It's reported by the CGNS people. When an external ↵Raymond Lu2007-11-051-1/+1
| | | | | | | | | | link was opened twice, the library had some trouble to close in the end. The problem came from the field "holding_file" of H5O_loc_t. It's used to indicate special links like external links. The fix is to turn it off whenever H5O_open is called. Later the caller function should turn it on when it needs to. Tested on kagiso, linew, and smirom.
* [svn-r14017] Description:Quincey Koziol2007-07-261-4/+18
| | | | | | | | | | | Fix problem with fill value messages where the version of the format for a fill value message could depend on the "use the latest format" flag from the file after it was initially created. Tested on: Mac OS X/32 10.4.10 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [svn-r14012] Description:Quincey Koziol2007-07-241-0/+1
| | | | | | | | | | | | | Fix problem with I/O pipeline messages where the version of the format for a I/O pipeline message could depend on the "use the latest format" flag from the file after it was initially created. 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) Solaris/32 2.10 (linew)
* [svn-r13986] Description:Quincey Koziol2007-07-171-1/+2
| | | | | | | | | Add flag to bypass (expensive) B-tree & heap size retrieval for internal calls to H5O_get_info(). Teted on: Mac OS X/32 10.4.10 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13984] Description:Quincey Koziol2007-07-171-4/+0
| | | | | | | | | | | 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/+4
| | | | | | | | | | | | | | 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-r13821] Peter Cao2007-05-301-3/+4
| | | | | | | | | | | | | | | | | | | | | Fixed a bug at copying shared reg_ref attribute. The ref values of an attribute was not writen in file. The post_copy_file() at H5Oattr.c only updates the value in memory. To fix the problem, we added H5O_shared_post_copy_file(), which delete the attribute in file (with the incorrect value) and create an new attribute with the correct values. I added the following functions: H5Oshared.c:H5O_shared_post_copy_file(H5F_t *f, hid_t dxpl_id, H5O_t *oh, void *mesg); H5Oshared.h: H5O_SHARED_POST_COPY_FILE and modified the following files to include shared_post_copy_file() H5Oattr.c H5Odtype.c H5Ofill.c H5Opline.c H5Osdspace.c
* [svn-r13796] Description:Quincey Koziol2007-05-231-3/+21
| | | | | | | | | 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-r13753] Description:Quincey Koziol2007-05-141-17/+56
| | | | | | | | | | | | | 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-r13721] Description:Quincey Koziol2007-05-011-6/+17
| | | | | | | | | | | | | Add "fail if unknown" and "mark if unknown" flags to object header messages. This gives the library a clean way to tell older libraries that a message should not be just ignored if it's unknown, but that other actions should occur. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13636] Description:Quincey Koziol2007-04-111-0/+8
| | | | | | | | | | | | | | Change H5[D|G|T]<foo>_expand() "temporary" API routines to H5[D|G|T]<foo>2() "versioned" routines. Also added H5[D|G|T](create|commit)_anon() routines to continue to allow "anonymous" objects to be created in a file. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13498] Description:Quincey Koziol2007-03-121-2/+3
| | | | | | | | | Eliminate storing # of links in "link info" message, regenerate it when the object is opened instead. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13497] Description:Quincey Koziol2007-03-111-0/+8
| | | | | | | | | | | | | | | | | | Move ref. count of # of links to an object out of the object header's prefix and make it a header message instead (since it's a "rare" occurence), eliminating some more space for each object in the file. Inserting this "ref. count" message exposed a flaw in the library's mechanism for locating a message to promote to another chunk and replace with a continuation message, which required some additional work to fix. It's still not completely robust, but it's working for more cases now and detects failures robustly. Reduced the minimum size of an object header chunk to just enough to contain a header message prefix and continuation message. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13494] Description:Quincey Koziol2007-03-111-16/+16
| | | | | | | Whitespace/formatting cleanup. Tested on: None, just eyeballed.
* [svn-r13493] Description:Quincey Koziol2007-03-111-0/+2
| | | | | | | Eliminate storing default values for "group info" fields. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13490] Description:Quincey Koziol2007-03-101-2/+1
| | | | | | | | | | | | Move "creation order tracked" flag from "group info" to "link info" object header message and make the "max. creation order value" optional in the "link info", if the creation order for links is not tracked. Also, get rid of unused "index names" flag - names are always indexed currently. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13488] Description:Quincey Koziol2007-03-101-1/+3
| | | | | | | | | Remove unused "min. creation order" field from link info object header message. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13486] Description:Quincey Koziol2007-03-101-0/+4
| | | | | | | | | Move attribute tracking information out of object header prefix and make it into a message that is inserted only when attributes are present on the object. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13477] Description:Quincey Koziol2007-03-081-2/+4
| | | | | | | | | | | | | | | | | | | | 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-r13472] Description:Quincey Koziol2007-03-061-4/+22
| | | | | | | | Add new object header message to track attribute information (unused currently). Tested on: Mac OS X/32 10.4.8 (amazon)
* [svn-r13465] Description:Quincey Koziol2007-03-061-0/+1
| | | | | | | | | | | | Fix bug in external links when "strong" file close degree is used. Make external link callbacks use standard error reporting mechanisms. Other minor code cleanups... Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13449] Description:Quincey Koziol2007-03-041-2/+0
| | | | | | | | | | | | | Add object creation property (H5P[s|g]et_obj_track_times) to disable storing timestamps on objects, which makes the object's header size smaller. Also, added object header status flags to H5O_info_t struct (for H5Oget_info/H5Oget_info_by_idx) and cleaned up other field names in the struct as well. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13440] Description:Quincey Koziol2007-03-011-3/+27
| | | | | | | | | | | | | | | | | | | Revise latest form of superblock format pretty drastically, to eliminate unused fields and move rarely used fields into superblock extension. Finished removing last vestiges of references to (never used) i"shared" object header message ID. Added object header messages for non-default v1 B-tree 'K' values and for driver info. Updated testfiles to reflect size changes, etc. Various minor cleanups, etc. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13390] Description:Quincey Koziol2007-02-261-7/+4
| | | | | | | | Make H5O_protect/H5O_unprotect use pinned cache entries instead of protected entries (allowing the object header routines to be semi-reentrant). Tested on: FreeBSD 6.2 (duty)
* [svn-r13375] Description:Quincey Koziol2007-02-221-2/+2
| | | | | | | | | | 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-r13295] Description:Quincey Koziol2007-02-141-0/+2
| | | | | | | | | Fix bug in "create intermediate groups" code which was carrying too much information from parent to child group. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [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-r13248] Description:Quincey Koziol2007-02-061-3/+0
| | | | | | | | | More progress on creation order for attribbutes - they are now basically working for "compact" attribute storage. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13245] Added "superblock extension" object header to hold shared ↵James Laird2007-02-061-0/+15
| | | | | | | | | object header information, rather than storing it directly in the superblock. This should make future updates to the superblock much less painful. Tested on Windows, kagiso, and smirom.
* [svn-r13243] Description:Quincey Koziol2007-02-061-0/+1
| | | | | | | | | Add API routines for tracking & indexing the creation order on attributes. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13240] Description:Quincey Koziol2007-02-051-7/+6
| | | | | | | | | | More cleanups on the object header message handling code, to make it easier to work with and move forward on the creation order coding. Various other minor cleanups & warning fixes. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13232] Description:Quincey Koziol2007-02-041-1/+3
| | | | | | | | | Remove the "scaffolding" for shared message method invocation and simplify the way shared messages are dealt with in general. Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13223] Description:Quincey Koziol2007-01-301-2/+4
| | | | | | | | | | | | 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-r13167] Description:Quincey Koziol2007-01-221-16/+10
| | | | | | | | | | | Get rid of two different types of fill value struct (merge H5O_fill_t and H5O_fill_new_t) and clean up & simplify dataset initialization code. (In preparation for shared object header message method call refactoring). Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13157] Description:Quincey Koziol2007-01-191-2/+2
| | | | | | | | Revert change to H5O_fill_new_t, at least until I straight it out more... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13156] Description:Quincey Koziol2007-01-191-2/+4
| | | | | | | | | Begin refactoring code to straighten out the contorted code that handles shared messages. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13155] Description:Quincey Koziol2007-01-191-7/+20
| | | | | | | | | | | | | | Add "set_crt_index" and "get_crt_index" methods for the object header message class. Unify fractal heap definitions for shared messages and attributes, under "object header" fractal heap definitions. Initial code for adding creation order index to object header messages. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13143] Refactoring.James Laird2007-01-161-0/+1
| | | | | | | | | | | | | | Added can_share callback for OH messages. This determines whether the message is allowed to be shared in the heap (committed and immutable datatypes can't be). Fixed a bug in the dense attribute storage that tried to open the shared message heap when it hadn't been created yet. Made the test to extend shared dataspace messages a bit more robust. Refactored the code the searches a shared message list index to be a little more efficient. A few other minor changes. Tested on smirom, kagiso, Windows, and juniper.
* [svn-r13135] Continuing code cleanup.James Laird2007-01-111-1/+4
| | | | | | | | | Moved SOHM table version out of table encoding and completely into superblock. This is a file format change. Added test that extends shared dataspaces. Dynamically allocate arrays in shared message cache code. Clean up comments. Tested on windows, kagiso, smirom.
* [svn-r13130] Description:Quincey Koziol2007-01-101-1/+1
| | | | | | | | | Further tests & bugfixes for shared/committed components of shared/un- shared attributes using dense/compact storage. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.1 (duty)
* [svn-r13129] More refactoring. Moved index versions to the index header, so ↵James Laird2007-01-091-3/+2
| | | | | | | | that an index can be read all at once. This changes the file format! Tested on Windows, kagiso, and smirom.
* [svn-r13119] More code cleanup. Made shared messages zero-indexed instead ofJames Laird2007-01-081-12/+4
| | | | | | one-indexed. Changed the names of some constants to be more consistent. Tested on juniper, smirom, and copper.
* [svn-r13113] Refactoring. Cleaned up code, added a few sanity checks.James Laird2007-01-051-2/+0
| | | | | | Extracted duplicated code into functions. Tested on Windows, juniper, and kagiso. Will test on copper next.
* [svn-r13086] Added deletion test for shared messages. I'm not sure that ↵James Laird2006-12-221-0/+1
| | | | | | | | | | | this test is as complete as it could be, so I may add to it later. Fixed a bug in reference counting messages that are referenced by shared messages (attribute datatypes and dataspaces). Tested on mir, smirom, and Windows.