summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* [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.
* [svn-r13065] Added support for copying shared messages (including turning ↵James Laird2006-12-151-1/+1
| | | | | | | | | | | | unshared messages to shared messages and vice versa). Extended objcopy test to test all "permutations" of shared/unshared and new/old group format. If this proves to take a long time to test, I'll go back and have it run fewer tests when HDF5_TEST_EXPRESS is enabled. Tested on smirom, kagiso, copper, and Windows.
* [svn-r13058] Description:Quincey Koziol2006-12-131-0/+2
| | | | | | | | | | | Clean up some shared message operations and other minor tweaks, in the process of trying to solve the messy way that shared object header messages are implemented in general (not James' work - which is fine :-) Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) AIX/32 5.? (copper)
* [svn-r13056] Description:Quincey Koziol2006-12-121-1/+1
| | | | | | | | | | | | | | Add H5SM_type_shared() internal routine to determine if a particular type of header message is sharable in a file. Correct off-by-one error in computing B-tree record size for densely stored attributes' name index. Further progress toward supporting shared attributes in dense storage. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13041] Description:Quincey Koziol2006-12-111-11/+0
| | | | | | | | | | | Migrate "internalish" attribute operations into new source code file. Add test & basic support for opening attributes in dense storage (shared attributes not tested or supported yet). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13037] Description:Quincey Koziol2006-12-081-0/+1
| | | | | | | Move attribute creation code out of H5Omessage.c and into H5Oattr.c Tested on: FreeBSD/32 4.11 (sleipnir)
* [svn-r13028] Description:Quincey Koziol2006-12-061-8/+14
| | | | | | | | | | | | | | | | | Add first pass of "dense" attribute storage to objects. Lots of parts of this are stubbed out, but all the tests are passing and I'll work on the corner cases soon. Eliminated several unused parameters from object header message callback routines. Other, miscellaneous code cleanups, etc. (and probably some things I've forgotten about... :-) Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13016] Description:Quincey Koziol2006-12-041-23/+20
| | | | | | | | | | | Finish moving object header message routines into their own source code module, along with renaming them to have "H5O_msg_" prefix... Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13015] Description:Quincey Koziol2006-12-041-13/+15
| | | | | | | | | | | Migrate more object header routines to use the H5O_msg_ prefix and put them into the src/H5Omessage.c code module. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r13012] Description:Quincey Koziol2006-12-031-5/+7
| | | | | | | | | | | | | | Refactor object header code to separate process of creating an object header message from the process of writing to an existing one. Start renaming operations that deal with object header messages to have "H5O_msg_" prefix... Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) AIX/32 5.? (copper)
* [svn-r12997] Description:Quincey Koziol2006-11-291-5/+5
| | | | | | | | | | Rename too generic "H5O_FLAG_<foo>" flags that are used as flags for header messages to "H5O_MSG_FLAG_<foo>", in order to make their use clearer. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir)
* [svn-r12994] Description:Quincey Koziol2006-11-291-2/+8
| | | | | | | | | | | | | | | Propagate object creation properties up into group, dataset and named datatype property lists, when those property lists are retrieved for existing objects in a file. Also, add H5Tget_create_plist() API routine, to allow named datatype property lists to be retrieved for named datatypes. Tested on: FreeBSD/32 4.11 (sleipnir) Linux/32 2.4 (heping) Linux/64 2.4 (mir) AIX/32 5.? (copper)
* [svn-r12991] Description:Quincey Koziol2006-11-281-4/+4
| | | | | | | | | Reduce the size of some of the group information to more reasonable bounds. (16-bit values instead of 32-bit values). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)