Pursue calls to H5Gcreate() relentlessly and ruthlessly exterminate
them, leaving only a few tame specimens in text files and comments. ;-)
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Change definition of H5E_walk1_t compatibility type to match the H5E_walk_t
type in the 1.6.x library.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Too minor to require commit test
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Refactor H5HF_size() size statistics code for fractal heap to conform to
how the rest of the fractal heap routines work.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.10 (amazon)
Correct problem with fractal heap's free space size usage gathering
routine, which was "poisoning the cache" by loading an incorrectly initialized
piece of metadata from the file.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 6.2 (amazon)
Fix bug with moving object header messages forward into null messages
of exactly the same size and located in an object header chunk with a gap.
(Exposed by netCDF-4 test)
Tested on:
FreeBSD/32 6.2 (duty)
Correct error in size of v2 B-tree metadata prefix, which could cause too
many entries to get inserted into a node, eventually causing either a file
corruption bug (if debugging asserts were off) or a core dump on the assertion
which checked this.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Fix problem with datatype messages where the version of the format
for a datatype message could depend on the "use the latest format" flag from
the file after it was initially created.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Mac OS X/32 10.4.10 (amazon)
Allow a ".h5" suffix to be added to core files also, which prevents
overwriting the test binary (and confusing the tests on copper, etc.)
Tested on:
AIX 5.3 (copper) w/check-vfd
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Fix bug where the version of an attribute would change after it was
created, causing the amount of space used to encode it to change.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
Add --enable-deprecated-symbols configure option, to allow users to
remove deprecated public API symbols at configure time.
Add bin/make_vers script to bin/reconfigure actions.
Run bin/reconfigure to regenerate autotool components.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
Linux/32 2.6 (kagiso)
Modify semantics for constant messages slightly, to allow them to be
deleted, but not modified. This works around the issue where "old" style
groups are being created with the symbol table message marked constant in
the 1.6 (and prior) branch, but the 1.8 branch needs to remove the symbol table
message when the group has been changed to the "new" style (upon insertion
of a link that the "old" style can't handle).
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Fix problem with VL-datatype fill values when shrinking dataset's dimensions
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
"Genericize" the datatypes for fill value testing when extending a dataset.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
A few more cleanups for testing [atomic] fill values and extending datasets
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Extract main test for extending a dataset into separate routine, to
facilitate testing different parameters.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
2) Removing configuration of c++/src/H5cxx_pubconf.h file.
Reasoning: the additional pubconf file caused compilation complications, this is cleaner.
Tested: kagiso, smirom
Description: added new configuration to generate a pubconf file
in the c++/src directory, H5cxx_pubconf.h. When C++
compiler recognizes 'offsetof', the macro
H5_CXX_HAVE_OFFSETOF is defined in the new
pubconf file.
tested: kagiso, smirom
Add some additional tests for reading non-contiguous selections from
datasets which haven't had any data written to them (both non-VL and VL
datatype fill values covered)
Tested on:
Mac OS X/32 10.4.9 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
company. The I/O is optimized when the source and destination
members are a subset of each other one way or another, and
the order is the same, and no conversion is needed. For example:
struct source { struct destination {
TYPE1 A; --> TYPE1 A;
TYPE2 B; --> TYPE2 B;
TYPE3 C; --> TYPE3 C;
}; TYPE4 D;
TYPE5 E;
};
or
struct destination { struct source {
TYPE1 A; --> TYPE1 A;
TYPE2 B; --> TYPE2 B;
TYPE3 C; --> TYPE3 C;
}; TYPE4 D;
TYPE5 E;
};
The optimization is simply moving data from the source to the
appropriate places in the buffer and bypass the reading of
the background data and data conversion.
Tested on smirom, liberty, sol, and copper.
Bug fix.
Description:
Test test_misc25b() open an existing test data file with RDWR unnecessarily.
(This was discovered during read-only test.)
Changed file open mode to RDONLY.
Tested platform:
Kagiso (readonly) only since it is a trivial change.
Fix problems with 'check-vfd' target, that were [mostly] introduced with
the recent "unique, but sharable" ISOHM optimization.
The problems were mostly with using the 'core' VFD, so the
H5Pset_fapl_core() API call was changed to re-open existing files (therefore
operating more list the sec2, stdio, etc. VFDs). This allows many more of
the tests to run using the 'core' VFD, so those were enabled also.
Tested on:
Linux/64 2.6 (chicago2) w/check-vfd
Fix writing variable-length datatype fill values for contiguous dataset
storage
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Fix compact dataset storage to initialize VL datatype fill values
correctly.
Also, fix bug in global heap code when the fix action on a global
heap is to delete an object in a heap with no free space.
Tested on:
Mac OS X/32 10.4.9 (amazon)
FreeBSD/32 6.2 (duty)
Description: a new configure flag has been created that will now set a macro
in the test/Makefile. The flag is with-default-vfd=. When set to
a virtual file driver (e.g. "--with-default-vfd=sec2"), the macro
DEFAULT_VFD will hold this value.
Tested: kagiso, smirom, linew
file size from MPI_File_get_size. Bypass this problem by replacing it with
stat. Add an option --disable-mpi-size in configure to indicate this function
doesn't work properly. Add a test in testpar/t_mpi.c, too. If it returns wrong
file size, print out a warning.
Tested on kagiso (parallel) because already tested the same change to v1.6 on
several platforms (kagiso, cobalt, copper, and sol).
Incremental step forward in fixing problems with fill values that have
a variable-length daattype. This set of changes fixes problems with the copying
the property list values.
tested Tn:
Mac OS X/32 10.4.9 (amazon)
1) Back out last check in (forget to include the memory leak fix in compare_datasets())
2) Break the infinite loop when the ref_object points to itself at compare_data()
Fix possible file corruption when using "new" format object headers and the
size of chunk #0 for an object header transitions between needing 1->2->4->8-
byte encoding for the size and there are "clean" messages in the object header
already. (Usually triggered by flushing the file while adding attributes to
an object)
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Fix error which attempted to allocate space for attribute that has a
'null' dataspace.
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)
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)
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)
Take further advantage of the readers/writer locking in the metadata cache
and push the locking of the local heap up to the routines which call B-tree
routines, which should drastically lower the number of metadata cache protect/
unprotect calls.
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
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)
was a failure to clean up properly after a test.
I reproduced the failure on Phoenix before fixing it. As the error
was relatively straight forward, I tested fix on Phoenix only.
files. 2. added a check in test/big.c to make sure the system supports big file.
Tested on smirom because already tested the same changes for v1.6 on liberty, smirom,
copper, and sol.
Fully enable readers/writer locking in metadata cache and correct errors
in cache clients which were modifying a cache entry while only holding a
read lock on it.
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Rename new error handling API routines from H5E<foo>_stack() to
H5E<foo>2().
Tested on:
Mac OS X/32 10.4.9 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
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)
cache entries. Added test code to test the new feature. Also some
minor cleanum
h5committested -- passed on copper and sol. Failed on osage with
a configuration error that appears unrelated to my changes. Serial
test (debug mode) passes on Phoenix (Linux x86 2.6 kernel), so I
went ahead with the checkin.
check if fseeko is available. Using it instead of fseek can support
big files because the offset is of type off_t not long int. Also
added the test for STDIO in big.c.
Add version # and flags to external link format (as fields in a single
byte), in order to accomodate future changes/expansions.
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Check in changes from Elena and I to get pgcc compiler working again.
Primarily (all?) changes to move from using 'hsize_t' as array index to using
something else ('size_t') mostly.
Tested on:
Linux/32 2.4 kagiso w/pgcc
if there's VL type of data in the dataset, the address of the data is copied
multiple times into the buffer, causing some trouble when the data is released.
Instead, this checkin makes multiple copies of fill value first, then
does conversion on each element so that each of them has a copy of the
VL data. A test is added, too.
Tested it on kagiso, sol, and copper.
Added H5Lexists() API routine, which determines if a link of a particular
name exists in a group.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
reference test object reference failed if faked address is 100.
Skipped this test for now.
Also removed the incorrected added COMPAT_1.4 parts.
Tested in kagiso.
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)
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)
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)
Eliminate message count from new version of object header prefix -
it can be computed when the header is loaded and the table of messages is
built.
Tested on:
FreeBSD/32 6.2 (duty)
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)
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)
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)
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)
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)
External links test in tsohm.c tries to open a target file the second time.
Therefore it fails for VMS.
Solution:
Commented out this test for VMS system.
Platforms tested:
VMS server and kagiso
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)
Description: Multiple copies of Copyright appeared in Makefile.in. This was
due to automake copying the copyright right in the included files such as
config/commence.am.
Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in. Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.
Tested: kagiso via bin/reconfigure.
Finish H5Aiterate2()
Add H5Arename2() and mark H5Arename as deprecated.
Started on H5Oopen_by_idx().
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 6.2 (duty)
Checkpoint progress on H5Aiterate2().
Mark H5Aiterate() as deprecated.
Various code cleanups.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Deprecate H5Adelete in favor of H5Adelete2, which corresponds to the new
pattern of specifying an object's location.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
sol's been having. When Express Testing (level 2 or 3) is enabled, the
test will no longer repeatedly close and re-open a file, which should work
better under AFS.
Tested on kagiso (extremely minor change, no new code introduced).
Add H5Aget_info_by_idx & H5Aget_name_by_idx routines, along with
refactoring underlying indices code to handle those sort of queries.
Simplify the link callback routines a bit.
Minor other cleanups.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 6.2 (duty)
Relax restriction on the "location ID" for attribute operations to allow
file IDs to be used as the location ID. If a file ID is used, the attribute
operations will occur on the file's root group.
Tested on:
FreeBSD/32 6.2 (duty)
Clean up some of the file space allocation formatting.
Beef up the attribute creation order tests to make certain they are
handling shared atributes correctly (which they apparently are :-)
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.8 (amazon)
Add more support for creation order index operations to attributes:
get deletions & compact<->dense storage transitions working.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.8 (amazon)
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.
Add support for inserting attributes into creation order index.
Also, update support for dense link & attribute storage in h5debug.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.8 (amazon)
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)
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)
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.
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)
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)
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)
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)
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test" ./testhdf5
Tested on Cygwin and kagiso. This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
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)
would become shared NULL messages (oops!).
Added a test for this case.
Also fixed the #define that caused errors on Windows (and probably other
platforms). This may fix the Daily Test error.
Tested on Windows, smirom, kagiso, and juniper.
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)
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)
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.
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.
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)
General cleanups, in preparation for adding some attribute-tracking fields
to the object header prefix.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add # of attributes to the object info struct and deprecate
H5Aget_num_attrs().
Tested on:
FreeBSd/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
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)
Add tests for H5Oopen_by_idx() (in a rare fit of superlative coding I
apparently got the implementation complete correct in my earlier checkin :-)
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add tests for H5Literate(), in all combinations.
Sweep up a few minor issues with H5Literate() that the tests exposed.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Finish implementation of H5Literate() [still needs real tests]
Clean up datatype macro warnings a bit more.
Unify iterator callback macros and put up in public header file, with the
iterator directions.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Clean up warnings assigned to me from today's meeting - still need
to tackle the datatype conversion ones...
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
Add src/H5Oalloc.c file forgotten in previous object header checkin
Break out more object header routines into separate file (debugging routines
this time).
Fix "//" style comment in recent ISOHM source changes.
Fix 'size_t' vs. 'unsigned' problem (visible in 64-bit testing) in recent
ISOHM test changes.
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
version and size information into the superblock to eliminate a read when
loading it.
This is a file format change, and hopefully the last one (knock on wood).
Tested on kagiso and Windows (mostly just a SOHM change).
Basic support for H5Literate() routine. Still needs to be fleshed out and
refactored to simplify. Also, needs tests. :-)
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Mac OS X/32 10.4.8 (amazon)
Added new refreg_name.c file to test H5Rget_name and H5Iget_name for region references.
H5Rget_name tests are skipped for now since they do not work (at least for me :-)
Platforms tested:
heping and copper
The version of libtool used by HDF5 isn't directly affected by the reconfigure
script; instead, libtoolize --force must be used by hand. Libtool was the
source of the problem, so rolling its version back to 1.5.14 should solve the
issue (at least temporarily).
Reconfigure should still work on both heping and kagiso.
Tested on heping, kagiso, and tg-login3.
Add support for "delete by index" to "old-style" groups, finishing
implmentation of H5Ldelete_by_idx() routine.
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
Aix/32 5.? (copper)
More progress toward getting H5Ldelete_by_idx() working - removals on
densely stored links should work now (still needs some more tests). Still
need to write code for removals on "old-style" groups.
Tested on:
FreeBSD/32 4.11 (sleipnir)
More progress toward getting H5Ldelete_by_idx to work fully - can now
delete by index in compact group (but not dense groups or "old-style" groups
yet). Need to go write a v2 B-tree routine to delete from the B-tree by index
before the dense storage will work properly...
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Straighten out some convoluted code when links were being deleted, which
could cause the "delete" callback for user-defined links to not get called when
the group they were in was deleted.
Had to compromise on the "delete" callback though - only calls the callback
with the ID for the file the link is in, instead of the group, since the group
is being held open upstream in the calling sequence during a group deletion and
this prevents a group and its ID from being created. (This could possibly be
worked around, but would cause a fair bit of havoc in the code and I'm not
entirely certain it's worth it...)
Tested on:
Linux/32 2.6 (chicago)
This feature is still in progress; Shared Object Header Messages are not
complete as a feature and are not thoroughly tested. There are still
"TODO" comments in the code (comments with the word "JAMES" in them,
so as not to be confused with other TODO comments).
Hopefully this checkin will reduce the liklihood of conflicts as I finish
implementing this feature.
All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
Add new H5Lget_val_by_idx() routine & tests.
Also includes most of changes for H5Ldelete_by_idx() routine.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Finished implementation of H5Lget_info_by_idx for all cases: old vs. new
group formats, compact vs. dense new link storage, increasing vs. decreasing
vs. native iteration order.
Also, refactor symbol table "foo by index" routines to be more generic
and share more code by using a single B-tree iteration callback which makes
callbacks to a specific "get <foo>" callback.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Should disable linking against shared libraries in Fortran for compilers that
don't support shared libraries.
Should also fix problem when the wrong Fortran file extension was specified.
If these changes don't solve the Daily Test issues, I'll look at backing out
the autotool version change until I have time to fix them.
Tested on heping, kagiso, juniper.