Commit Graph

91 Commits

Author SHA1 Message Date
Raymond Lu
3015df0a5b [svn-r13501] Suppress the compiler warning about the equality comparison of floating-point values. 2007-03-12 10:52:52 -05:00
Quincey Koziol
e6b818134e [svn-r13497] Description:
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)
2007-03-11 18:15:03 -05:00
Quincey Koziol
bb356fd6d1 [svn-r13489] Description:
Make certain to use the later version of the object header format if
creation order is tracked on attributes.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-03-10 13:35:25 -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
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
dec964c4d5 [svn-r13361] Description:
Add H5Aopen(), H5Aopen_by_idx() and H5Acreate2() routines.

Tested on:
	Mac OS X/32 10.4.8 (amazon)
2007-02-21 08:20:46 -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
4486398a98 [svn-r13347] Description:
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)
2007-02-20 11:00:24 -05:00
Quincey Koziol
19257978d9 [svn-r13346] Description:
Wrap up attribute "delete by index" tests.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-02-20 10:45:47 -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
37a57858d5 [svn-r13304] Description:
Fix new API routines to use same pattern of arguments for specifying an
object as the new H5G/L/O API routines.

Tested on:
    Linux/32 2.6 (chicago)
2007-02-14 14:32:01 -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
140c0c9db2 [svn-r13274] Description:
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)
2007-02-09 10:32:51 -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
Quincey Koziol
1e5e6baad1 [svn-r13270] Description:
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)
2007-02-08 11:07:56 -05:00
Quincey Koziol
e4d94d7943 [svn-r13267] Description:
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)
2007-02-07 20:12:08 -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
d47a060445 [svn-r13250] Description:
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)
2007-02-06 21:18:17 -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
7c733b0afb [svn-r13223] Description:
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)
2007-01-30 13:43:28 -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
ee6036e032 [svn-r13123] Description:
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)
2007-01-08 23:24:00 -05:00
Quincey Koziol
2104bd1e0a [svn-r13122] Description:
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)
2007-01-08 18:29:49 -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
James Laird
77a2e54459 [svn-r13119] More code cleanup. Made shared messages zero-indexed instead of
one-indexed.  Changed the names of some constants to be more consistent.

Tested on juniper, smirom, and copper.
2007-01-08 09:54:12 -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
James Laird
869ed6e043 [svn-r13113] Refactoring. Cleaned up code, added a few sanity checks.
Extracted duplicated code into functions.

Tested on Windows, juniper, and kagiso.  Will test on copper next.
2007-01-05 13:30:59 -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
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
c1d6230290 [svn-r13098] Description:
Checkpoint changes for bug fix, to shift coding to another machine.

Tested on:
    Linux/64 2.6 (chicago2)
2007-01-02 18:24:44 -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
Quincey Koziol
8081ee4221 [svn-r13095] Description:
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
2007-01-02 09:20:35 -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
Quincey Koziol
9c167bcfa7 [svn-r13048] Description:
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)
2006-12-11 21:10:05 -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
Quincey Koziol
7b368f006e [svn-r13028] Description:
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)
2006-12-06 17:19:52 -05:00
James Laird
b6c317f27c [svn-r12902] Checkin of Shared Object Header Message work.
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.
2006-11-13 15:41:36 -05:00
Quincey Koziol
e87cb91483 [svn-r12877] Description:
Clean up more compiler warnings.

Tested on:
    Linux/64 2.6 (chicago2)
2006-11-07 15:19:41 -05:00
Quincey Koziol
e40557304f [svn-r12803] Description:
Finish new version of the I/O pipeline message, which is much smaller than
the previous version.  This version is used with the "use the latest version
of the format" flag.

    Closed several memory leaks/overruns (found with valgrind).

    Also, lots of compiler & formatting cleanups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-23 15:40:14 -05:00
Quincey Koziol
84bf19bec4 [svn-r12767] Description:
Code cleanup to improve formatting & reduce compiler warnings.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-16 17:53:56 -05:00