summaryrefslogtreecommitdiffstats
path: root/src/H5SM.c
Commit message (Collapse)AuthorAgeFilesLines
* [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)
* [svn-r13206] Fixed a couple of typos in debug output that were causing warnings.James Laird2007-01-261-2/+2
| | | | Not tested; trivial change only in debugging code.
* [svn-r13174] Description:Quincey Koziol2007-01-221-0/+2
| | | | | | | | | Comment out adding "old" fill values to "new" fill values until we can figure out why the tests fail on 64-bit machines. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13172] Description:Quincey Koziol2007-01-221-8/+3
| | | | | | | | | | | Add "old" fill value messages to "new" style fill value messages when "FILL" flag is enabled for shared messages. Minor code cleanups Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13170] Corrected Windows-style newlines. I'd been a bit sloppy on ↵James Laird2007-01-221-31/+31
| | | | | | earlier checkins, although this doesn't confuse SVN as much as it confused CVS.
* [svn-r13159] Added h5debug support for shared message structures.James Laird2007-01-191-0/+152
| | | | | Tests run on juniper, kagiso, smirom. h5debug run manually on sample files on Windows, juniper, and kagiso.
* [svn-r13155] Description:Quincey Koziol2007-01-191-28/+14
| | | | | | | | | | | | | | 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-r13152] Description:Quincey Koziol2007-01-181-0/+5
| | | | | | | | | | | Add anotherdense/shared attribute test. Clean up minor attribute/object header codelets, in preparation for adding creation index to attributes. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13143] Refactoring.James Laird2007-01-161-47/+49
| | | | | | | | | | | | | | 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-7/+59
| | | | | | | | | 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-12/+12
| | | | | | | | | 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-10/+4
| | | | | | | | that an index can be read all at once. This changes the file format! Tested on Windows, kagiso, and smirom.
* [svn-r13128] Description:Quincey Koziol2007-01-091-1/+1
| | | | | | | | | | More progress on address bugs in combinations of shared/committed/unshared components of shared/unshared attributes in compact/dense storage. (Yes, there are a lot of combinations. :-) Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13127] Refactoring. Cleaned up some buggy code when searching for ↵James Laird2007-01-091-43/+59
| | | | | | | | messages in B-trees. Tested on Windows, smirom, and kagiso.
* [svn-r13126] More cleanup. Shared messages now use in-heap callbacks when ↵James Laird2007-01-091-1/+1
| | | | | | | | searching for a matching message, which should improve performance. Tested on Windows, kagiso, and smirom.
* [svn-r13121] Description:Quincey Koziol2007-01-081-0/+133
| | | | | | | | | | Add support & tests for using shared datatypes with shared & un-shared attributes. Involves some fairly icky code to make the "copy on write" paradigm for shared attributes work. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13120] Description:Quincey Koziol2007-01-081-32/+34
| | | | | | | | | | | | | | | | Add support for deleting deleting dense storage when no compact storage will be used. Change shared message's "get heap address" routine to return address in parameter instead of return value, to allow better error detection. Start writing tests for shared attributes which use shared components (datatypes or dataspaces) Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.1 (duty)
* [svn-r13119] More code cleanup. Made shared messages zero-indexed instead ofJames Laird2007-01-081-8/+8
| | | | | | 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-124/+234
| | | | | | Extracted duplicated code into functions. Tested on Windows, juniper, and kagiso. Will test on copper next.
* [svn-r13107] Fixed shared message indexes to clean themselves up when ↵James Laird2007-01-041-5/+51
| | | | | | | | | | | they're deleted. Creating shared messages and then deleting them should return the file to its original state. Added a test for this. Tested on Windows, smirom, and kagiso.
* [svn-r13102] Found a bug: shared message list sizes above the maximum were ↵James Laird2007-01-031-5/+5
| | | | | | | | | | | not caught. Fixed bug and a related one where the number of indexes could be set above the maximum. Added tests for both bugs. Tested on kagiso and smirom.
* [svn-r13096] Description:Quincey Koziol2007-01-021-6/+6
| | | | | | | | Fix updating values of shared attributes in dense storage & add test. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13086] Added deletion test for shared messages. I'm not sure that ↵James Laird2006-12-221-8/+62
| | | | | | | | | | | 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-r13079] Description:Quincey Koziol2006-12-191-53/+67
| | | | | | | | | | | | | | | | | | Add more tests for checking that writing to shared attributes works correctly. (Looks like it still has a bug when dense storage is used, which I'll correct shortly). Add testing routine to shared message code, to retrieve reference count for a shared message. Add fractal heap 'op' callback for efficiently computing the hash value of an existing encoded message in the shared message fractal heap. Various minor cleanups and warning placations. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13074] Description:Quincey Koziol2006-12-191-0/+30
| | | | | | | | | | | | | | | | | Add support for opening attributes in dense and/or shared storage by index. Move routines for building and operating on tables of attributes into separate source module. Fix bug where reverting from "dense" to "compact" storage would 'unshare' attributes. Minor code cleanups, etc. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13072] Description:Quincey Koziol2006-12-181-2/+4
| | | | | | | | | Push support for shared attributes into more dark corners of the "dense" attribute storage support. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13065] Added support for copying shared messages (including turning ↵James Laird2006-12-151-11/+4
| | | | | | | | | | | | 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-r13056] Description:Quincey Koziol2006-12-121-30/+114
| | | | | | | | | | | | | | 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-r13034] Description:Quincey Koziol2006-12-081-5/+5
| | | | | | | | Take out separate memory type in the file for SOHM objects and create aliases for existing memory types for SOHM use. Tested on: FreeBSD/32 4.11 (sleipnir)
* [svn-r13028] Description:Quincey Koziol2006-12-061-9/+8
| | | | | | | | | | | | | | | | | 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-r13021] Cleaned up some mismatched types that were causing errors on ↵James Laird2006-12-041-1/+1
| | | | | | | | copper in 64-bit mode. Tested on copper.