Commit Graph

41 Commits

Author SHA1 Message Date
Quincey Koziol
c227f4ffa5 [svn-r13499] Description:
Avoid storing the # of attributes in the "attribute info" message
and regenerate it when the object is opened.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-03-11 22:00:31 -05:00
Quincey Koziol
a127510b7b [svn-r13486] Description:
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)
2007-03-09 23:56:53 -05:00
Quincey Koziol
74a30fff3e [svn-r13477] Description:
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)
2007-03-08 15:10:12 -05:00
Quincey Koziol
f25328a15a [svn-r13469] Description:
Minor code rearrangements and comment cleanups, in preparation for moving
attribute tracking information out of object header prefix.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-03-06 12:37:28 -05:00
Quincey Koziol
44f312b183 [svn-r13449] Description:
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)
2007-03-03 23:28:09 -05:00
Quincey Koziol
e0ae782d27 [svn-r13390] Description:
Make H5O_protect/H5O_unprotect use pinned cache entries instead of
protected entries (allowing the object header routines to be semi-reentrant).

Tested on:
	FreeBSD 6.2 (duty)
2007-02-26 13:18:08 -05:00
Quincey Koziol
1e07756ac2 [svn-r13367] Description:
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)
2007-02-21 14:58:48 -05:00
Quincey Koziol
4d93574a8f [svn-r13360] Description:
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)
2007-02-20 21:24:25 -05:00
Quincey Koziol
d08fabd66d [svn-r13353] Description:
Checkpoint progress on H5Aiterate2().

    Mark H5Aiterate() as deprecated.

    Various code cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-20 14:58:09 -05:00
Quincey Koziol
ca9a624416 [svn-r13344] Description:
More progress on attribute deletion by index.

Tested on:
	Mac OS X/32 10.4.8 (amazon)
	FreeBSD/32 6.2 (duty)
2007-02-20 10:20:10 -05:00
Quincey Koziol
d1a1f2421d [svn-r13341] Description:
Checkpoint "delete by index" code, which is partially finished.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-02-19 21:28:41 -05:00
Quincey Koziol
56e63bdeea [svn-r13287] Description:
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)
2007-02-13 09:50:48 -05:00
Quincey Koziol
494f46639d [svn-r13272] Description:
Checkpoint attribute creation order coding on "by index" routines.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-08 13:50:21 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG 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.
2007-02-07 09:56:24 -05:00
Quincey Koziol
7320ccac2d [svn-r13248] Description:
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)
2007-02-06 15:03:06 -05:00
Quincey Koziol
571523db1f [svn-r13243] Description:
Add API routines for tracking & indexing the creation order on
attributes.

Tested on:
	Mac OS X/32 10.4.8 (amazon)
	FreeBSD/32 6.2 (duty)
2007-02-06 07:18:05 -05:00
Quincey Koziol
c560e68258 [svn-r13240] Description:
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)
2007-02-05 17:26:44 -05:00
Quincey Koziol
0a8bba9153 [svn-r13232] Description:
Remove the "scaffolding" for shared message method invocation and
simplify the way shared messages are dealt with in general.

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.8 (amazon)
2007-02-04 02:37:15 -05:00
Quincey Koziol
f555ac654b [svn-r13226] Description:
Add attributes to the message classes that use the shared message
method calling interface, completing the transition.  The other mechanism will
be removed shortly.

Tested on:
	Mac OS X/32 10.4.8 (amazon)
	FreeBSD/32 6.2 (duty)
2007-01-30 20:48:28 -05:00
Quincey Koziol
814c226b9b [svn-r13219] Description:
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)
2007-01-29 17:06:36 -05:00
Quincey Koziol
46598f35ca [svn-r13155] Description:
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)
2007-01-19 09:54:46 -05:00
Quincey Koziol
9155785889 [svn-r13152] Description:
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)
2007-01-18 09:32:27 -05:00
Quincey Koziol
1f3ffdab86 [svn-r13130] Description:
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)
2007-01-09 23:01:31 -05:00
Quincey Koziol
26d2abe9e8 [svn-r13128] Description:
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)
2007-01-09 15:07:04 -05:00
Quincey Koziol
d978a22b36 [svn-r13121] Description:
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)
2007-01-08 17:25:26 -05:00
Quincey Koziol
a4527a631c [svn-r13120] Description:
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)
2007-01-08 10:47:56 -05:00
Quincey Koziol
327ea3a766 [svn-r13116] Description:
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)
2007-01-06 15:54:19 -05:00
Quincey Koziol
a15089ee73 [svn-r13104] Description:
Add support for renaming compact & dense/shared & non-shared attributes in 
all cases.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-01-03 14:34:15 -05:00
Quincey Koziol
b5a2e7c634 [svn-r13101] Description:
Change to more complicated method of re-adding an attribute whose name
changes size, in order to get memory accesses correct.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-01-03 10:04:55 -05:00
Quincey Koziol
9aa47d6ad5 [svn-r13100] Description:
Fix bug which could possibly corrupt file data if an attribute was
renamed to a longer name.

Tested on:
	FreeBSD/32 6.1 (duty)
2007-01-02 23:42:13 -05:00
Quincey Koziol
76ee1b2bda [svn-r13096] Description:
Fix updating values of shared attributes in dense storage & add test.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-01-02 15:21:44 -05:00
James Laird
b1c318eebe [svn-r13086] Added deletion test for shared messages. I'm not sure that 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.
2006-12-22 13:23:08 -05:00
Quincey Koziol
de9088b6bb [svn-r13079] Description:
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)
2006-12-19 15:18:26 -05:00
Quincey Koziol
43ec5b7ef4 [svn-r13074] Description:
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)
2006-12-18 20:59:28 -05:00
Quincey Koziol
5865018c85 [svn-r13073] Description:
Verify H5Aget_num_attrs() works correctly for new object header format.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-12-18 16:25:05 -05:00
Quincey Koziol
9769d008b0 [svn-r13072] Description:
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)
2006-12-18 16:06:44 -05:00
James Laird
9236c9a148 [svn-r13065] Added support for copying shared messages (including turning 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.
2006-12-15 16:28:17 -05:00
Quincey Koziol
e9522de4e1 [svn-r13056] Description:
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)
2006-12-12 15:28:48 -05:00
Quincey Koziol
2f665b89ce [svn-r13047] Description:
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)
2006-12-11 20:49:59 -05:00
Quincey Koziol
a867b8f5fd [svn-r13045] Description:
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)
2006-12-11 19:42:19 -05:00
Quincey Koziol
dc73eca159 [svn-r13041] Description:
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)
2006-12-11 14:02:38 -05:00