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)
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)
Fix object header message code to respect the "do not share" flag, so
that committed datatypes used in attributes are handled properly.
Add more tests for atttributes, checking that they handle shared
attributes in compact & dense storage w/committed datatypes.
Tested on:
FreeBSD/32 6.1 (duty)
Add more tests for attributes with shared components.
Close memory leak in shared message table loading.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
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)
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)
Add support for deleting all the attributes on an object, when they
are dense and possibly shared.
Also, add some testing routines, for better error detection.
Should fix daily test failures also...
Tested on:
FreeBSD/32 6.1 (duty)
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.
Minor edits on the way to testing writing to shared attributes in dense
storage.
Tested on:
Mac OS X/32 10.4.8 (amazon)
Too minor to require h5committest
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.
VMS maintenance: updated command file with the new source files;
sohm test was failing on VMS due to upper case/lower case letters in
constant and variable names (i.e. FILENAME vs. filename); modified the test
to avoid confusion.
Platforms tested:
VMS server, kagiso
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)
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)
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)
Add [quite] limited ability to update (ie. write) data for objects in
fractal heap. Limited to just updating objects in managed heap blocks (i.e.
not 'tiny' or 'huge' objects) and must be updated with data of the same length
as the object in the heap. Updating objects in compressed heaps does work
though [as long as the data isn't 'tiny' or 'huge'].
Needed for changing the data value or the name of an attribute that is
stored in dense or shared storage.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
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.
Bug fix.
Description:
Test failed when core and multi VFD is used.
SOlution:
Failure was because the test file was created with the specified VFD access
property but later reopened by default access. That won't work for VFDs such
as multi that produced files that are incompatible with the default sec2
file driver.
Fixed it by using the same VFD access property when it reopens the same test
file.
However, it still fails for the core VFD which does not create any real file.
It is meaningless to try to reopen its file. Fixed it by adding core to
the incompatible list of VFDs so that it would skip the test.
Split is already coded as incompatible VFD but I don't understand why
it is incompatible in this case. Removed it from the incompatible list.
Tested Platforms:
Copper in which the daily test failed.
Set up tests for next phase of testing dense attribute operations, with
shared attributes.
Other minor code cleanups...
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add "attribute exists" internal routine to make verifying that an attribute
with the same name doesn't already exist easier.
Tweak "trace" script to produce more whitespace in H5TRACE macros, in order
to make them easier to read.
Minor other whitespace cleanups
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Switch from using H5L_index_t/H5L_INDEX_<foo> to H5_index_t/H5_INDEX_<foo>
in order to accommodate indices on aspects of attributes as well as links.
Add basic support for deleting attributes in dense storage (needs more
support/tests for shared attributes in dense storage still).
Misc. cleanups, etc.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
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)
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)
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)
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)
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)
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)
to make the test pass.
These changes involve changes to the file format of SOHMs, but that's okay
because nobody should have been using SOHMs yet anyway.
Tested on Windows, kagiso, copper, and heping
Fix problem with copying objects when the dataset to copy has an "older"
version of the layout message and needs to compute the size of the dataset's
storage after the dataspace information is available.
Minor random cleanups also...
Tested on:
FreeBSD/32 4.11 (sleipnir)
Too minor/weird to test w/h5committest...
Make the memory size of the max. compact & min. dense attribute storage
variables align with the property list size, instead of the size on disk, to
better handle big-endian machines.
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
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)
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)
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)