| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add fields for tracking attributes on objects to object header prefix,
when using the latest version of the format.
Reduce size used to store type of header message from 2 bytes to 1. (If we
have >256 message types, we probably have a different problem... :-)
Also, add "birth" time for object (i.e. creation time) [named to align
with similar fields in file systems]
Correct bug in H5Gget_objinfo() - retrieve the ctime field from object info,
instead of the mtime field.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
|
|
|
|
|
|
|
|
|
|
|
| |
When using the latest version of the file format, move the "modification
time" information into the object header prefix, which is more efficient.
Also add "access time" and "change time" (for metadata) fields, all of which
take about the same space as the previous modification time header message.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finish removing library's internal code that uses H5G_get_objinfo() and
retarget it at either getting the link information or the object information,
as appropriate. (Still need to add user-level tests for H5Oget_info(), but
since several internal components of the library depend on the internal version,
it appears to be working correctly).
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/322.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Mac OS X/32 10.4.8 (amazon)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
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.... :-)
|