summaryrefslogtreecommitdiffstats
path: root/src/H5Ocache.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r12801] Description:Quincey Koziol2006-10-231-4/+11
| | | | | | | | | | | | Fix several errors in the "latest version" of the object header format changes and enable the new version when requested now. Clean up several confusing or duplicated sections of code. Tested on: Linux/32 2.4 (heping) Linux/64 2.4 (mir) FreeBSD/32 4.11 (sleipnir)
* [svn-r12774] Modified flush code in the metadata cache to allow it toJohn Mainzer2006-10-181-2/+8
| | | | | | | | | | | | | | | | | handle flush callbacks which can dirty other entries, and resize and/or rename the target entry. This feature is needed by the fractal heap code. Also added associated test code. H5Commit tested. Test failed on heping, but the error appears to be a syntax error in an un-related file. Tests on copper & sol passed, along with tests on phoenix.
* [svn-r12771] Description:Quincey Koziol2006-10-171-92/+107
| | | | | | | | | | | | | | | | | More fixes to make the I/O & memory operations more efficient when loading & flushing object header chunks. Add in concept of a chunk having a "gap" at the end - unused space that is not large enough to hold a full null message that describes it. Clean up formatting a bit. Latest version of object header format not enabled yet, still working on a few bugs... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12770] Description:Quincey Koziol2006-10-161-273/+215
| | | | | | | | | | | | | | | Overhaul usage of object header chunks to reduce I/O operations and memory allocations. The object header prefix is now stored in the first object header chunk's "image" in memory. Also, lots of formatting cleanups. Taught h5debug tool about new object header format (which isn't enabled just yet). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12761] Description:Quincey Koziol2006-10-161-36/+50
| | | | | | | | | | Refactor object header macros, in preparation for updating the format. Tested on: Mac OS/PPC 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) w/thread-safe Linux/32 2.4 (heping) w/C++ & FORTRAN Linux/64 2.4 (mir) w/1.6 compat & build-all
* [svn-r12760] Description:Quincey Koziol2006-10-161-3/+253
| | | | | | | | | | | | Speculatively attempt to read in the entire first chunk in object header with the object header prefix. If successful (which it is most of the time), this reduces by 1 the # of I/Os required to read in the object header. Since the object header typically was taking 2 I/Os, this should cut the number of I/O operations when opening an object's header in half. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/C++ & FORTRAN
* [svn-r12756] Description:Quincey Koziol2006-10-121-34/+27
| | | | | | | | | | | | | | Clean up some object header code in advance of more major changes in the near future. Fix small initialization error in attribute message name buffer copy. Tweak down the default # of messages for new object headers. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/FORTRAN & C++ Mac OS/32 10.4.8 (amazon)
* [svn-r12738] Description:Quincey Koziol2006-10-101-1/+1
| | | | | | | | Tweak down some of the static array definitions for new & re-loaded object header data structures, to reduce memory use in common cases. Tested on: Linux/32 2.6 (chicago)
* [svn-r12680] Description:Quincey Koziol2006-09-251-15/+15
| | | | | | | | | Review, revise & checkin in Peter's latest round of object copy changes, which add basic support for datasets & attributes with reference datatypes. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12422] Purpose:Quincey Koziol2006-06-191-1/+6
| | | | | | | | | | | | | | | Bug fix Description: Don't attempt to merge object header messages when a file is opened read-only. Mark the object header dirty when messages are merged, as well as the particular message affected. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r12414] Purpose:Quincey Koziol2006-06-171-0/+1
| | | | | | | | | | | | | | | | | Bug fix Description: Fix bug which could lead to files with incorrect count of messages in the header for an object. The exact sequence of operations is complicated and is described in the release notes. Solution: Mark merged null header messages as dirty. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (chicago) Mac OS/X (amazon)
* [svn-r11758] Purpose:Quincey Koziol2005-12-041-68/+78
| | | | | | | | | | | | | New feature Description: Add in a combination of Peter's & my code to support copying variable-length data from one file to another, although currently only supported with contiguous data storage. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-0/+554
New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)