Commit Graph

147 Commits

Author SHA1 Message Date
Quincey Koziol
0b00c26b02 [svn-r19274] Description:
Bring r19272 & 19273 from trunk to 1.8 branch:

	Close out various resource leaks and usages of uninitialized memory that
were flagged by valgrind.  [There's still some more valgrind warnings, but
it's better now... :-/ ]

   Also clean up warnings and code formatting.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Mac OS X/32 10.6.4 (amazon) in debug mode
        Mac OS X/32 10.6.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
        Mac OS X/32 10.6.4 (amazon) w/parallel, in debug mode
2010-08-20 17:22:40 -05:00
Quincey Koziol
c403f235f9 [svn-r18596] Description:
Bring r18595 from trunk to 1.8 branch:

    Clean up compiler warnings

Tested on:
    Mac OS X/32 10.6.3 (amazon) w/debug
    (too minor to require h5committest)
2010-04-20 14:05:15 -05:00
Neil Fortner
f6ebbc0109 [svn-r17762] Purpose: Fix problem with H5TB API
Description:
The H5TB API makes some improper assumptions about the order of compound
datatype members.  Namely, it assumes that members remain in the order in which
they were inserted.  Unfortunately, this assumption is inherent in the design of
the interface.  The library has been patched so that this assumption holds in
situations relevant to H5TB.

Tested: jam, linew, amani (h5committest)
2009-10-27 17:45:31 -05:00
Quincey Koziol
908ce6d721 [svn-r17314] Description:
Bring r17313 from trunk to 1.8 branch:
	Bring back various minor code cleanups from the file free space branch

Tested on:
       FreeBSD/32 6.3 (duty) in debug mode
       FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
       Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                               in debug mode
       Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                               w/C++ & FORTRAN, in production mode
       Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                               w/szip filter, in production mode
       Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                               in production mode
       Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.5.8 (amazon) in debug mode
       Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                               in production mode
2009-08-10 13:02:57 -05:00
Quincey Koziol
92b1407a53 [svn-r17282] Description:
Bring r17281 from trunk to 1.8 branch:

    Further refactoring of the dataset layout information, to separate the
storage information from the layout info.

Tested on:
    Mac OS X/32 10.5.7 (amazon) debug & production
    h5committested on trunk
2009-07-30 22:36:04 -05:00
Raymond Lu
8f25819df5 [svn-r17180] In my last round of checkin (r17176), I forgot to clean up some code. I'm checking in
the fix now.

Tested on jam - simple change.
2009-07-14 10:54:25 -05:00
Raymond Lu
75800cf6b5 [svn-r17176] In H5Odtype.c, the decoding function used to mark the datatype as on disk. I changed it
to undefined and let the caller functions decide the location of the datatype.  For
H5Tdecode, it should mark the datatype as in memory.  For other callers like H5Dopen or
H5Aopen, they should makr it as on disk.

Tested it on jam, smirom, linew.
2009-07-13 10:39:05 -05:00
Neil Fortner
1598893d14 [svn-r16595] Purpose: fix bug 1189
Description:
Some files apparently exist in the wild which have corrupt symbol table messages
on the root group.  These files can be opened by 1.6 (which uses the cached
information in the superblock) but not by 1.8.  This patch fixes 1.8 and 1.9 so
they can now open these files, and will correct them if necessary.  Also fix
some potential (rare) problems with array datatype versions.

Tested: jam (parallel; h5committest not working on linew or smirom)
2009-03-23 14:14:55 -05:00
Quincey Koziol
828e7e2416 [svn-r16566] Description:
Bring r16560 back from trunk.

Tested on:
    Mac OS X/32 10.5.6 (amazon) debug & production
    (Following up with tests on more platforms)
2009-03-10 20:44:36 -05:00
Neil Fortner
b487c22c42 [svn-r16474] Purpose: fix problems related to 'self-referential' attributes
Description:
When an attribute was created with a datatype or dataspace that was shared in
the same object header that the attribute was in, the attribute could not be
deleted.  Changes made to ensure that the attribute can be deleted both when the
attribute is in the object header and when it is shared in the heap.  Object
header message decode routines now take an "open_oh" parameter to enable them to
avoid opening the same object header twice.

Tested: jam, smirom (h5committest)
2009-02-12 13:50:21 -05:00
Quincey Koziol
b9be045596 [svn-r15629] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

   foreach f (*.[ch] *.cpp)
       sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
   end

Tested on:
   Mac OS X/32 10.5.5 (amazon)
   No need for h5committest, just whitespace changes...
2008-09-16 11:22:16 -05:00
Quincey Koziol
d517c77bc0 [svn-r15610] Description:
Bring r15609 back from trunk:
        Omnibus compiler warning cleanup & some formatting happiness.

Tested on:
    Mac OS X/32 10.5.4 (amazon)
    Too minor to require h5committest
2008-09-10 14:53:38 -05:00
Neil Fortner
f040f990a0 [svn-r15459] Purpose: Modify the library to take the proper action when files with incorrect
datatype versions are encountered.

Description: The library now recognizes some problems with datatype versions in
H5O_decode_helper(), and, if not performing strict format checks, automatically
corrects them.  Framework added for other message decode routines to
automatically correct file errors.  Datatype version information added to
h5debug.  Resolves bz#1236, 1266.  Test files with incorrect datatype versions
corrected.

Tested: kagiso, smirom, linew (h5committest)
2008-08-11 10:18:54 -05:00
Quincey Koziol
f331bba32c [svn-r14737] Description:
Fix bug which would incorrectly encode the member offsets for compound
datatypes whose size was between 256 & 511 bytes, when the "use the latest
format" feature was enabled.

Tested on:
    Mac OS X/32 10.5.2 (amazon) w/debug
    FreeBSD/32 6.2 (duty) w/production
2008-03-13 16:44:18 -05:00
Quincey Koziol
1ce44ed19c [svn-r14139] Description:
Minor edits to clean up code.

Tested on:
    FreeBSD/32 6.2 (duty)
2007-09-10 14:59:38 -05:00
Quincey Koziol
492e5ca2b4 [svn-r14004] Description:
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)
2007-07-24 14:10:00 -05:00
Peter Cao
461b896779 [svn-r13821]
Fixed a bug at copying shared reg_ref attribute. The ref values of an attribute
was not writen in file. The post_copy_file() at H5Oattr.c only updates the value
in memory. 

To fix the problem, we added H5O_shared_post_copy_file(), which delete the attribute
in file (with the incorrect value) and create an new attribute with the correct values.


I added the following functions:
H5Oshared.c:H5O_shared_post_copy_file(H5F_t *f, hid_t dxpl_id, H5O_t *oh, void *mesg); 
H5Oshared.h: H5O_SHARED_POST_COPY_FILE

and modified the following files to include shared_post_copy_file()
H5Oattr.c
H5Odtype.c
H5Ofill.c
H5Opline.c
H5Osdspace.c
2007-05-30 16:35:57 -05:00
Quincey Koziol
31ff357f31 [svn-r13753] Description:
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)
2007-05-14 15:24:08 -05:00
Quincey Koziol
32898a5cd1 [svn-r13362] Description:
Eliminate unneeded new version in attribute encoding.

	Add character set & string padding to string datatype debugging output

	Add character set to attribute name debugging output

Tested on:
	Mac OS X/32 10.4.8 (duty)
2007-02-21 09:44:30 -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
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
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
599d4141fa [svn-r13177] Description:
Final tweaks before the big twist to fix shared message method calling.

Tested on:
	Mac OS X/32 10.4.8 (amazon)
	FreeBSD/32 6.2 (duty)
2007-01-23 09:09:31 -05:00
Quincey Koziol
0c9bd3d4e2 [svn-r13176] Description:
Push code further toward shared message method calling refactor.

Tested on:
	FreeBSD/32 6.2 (duty)
	Too minor to require h5committest
2007-01-22 22:46:31 -05:00
Quincey Koziol
58db19e6c5 [svn-r13175] Description:
Checkpoint more progress on refactoring the shared message code.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-01-22 18:27:17 -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
James Laird
8fa9daa174 [svn-r13143] Refactoring.
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.
2007-01-16 12:19:11 -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
d694a6897c [svn-r13058] Description:
Clean up some shared message operations and other minor tweaks, in the
process of trying to solve the messy way that shared object header messages
are implemented in general (not James' work - which is fine :-)

Tested on:
    Mac OS X/32 10.4.8 (amazon)
    FreeBSD/32 4.11 (sleipnir)
    AIX/32 5.? (copper)
2006-12-12 22:19:43 -05:00
James Laird
bcc000dd8a [svn-r13057] Added a copy_file callback for datatype messages. This sets their location
in the destination file, fixing a bug in the (not yet checked-in)
shared message copying changes.

Tested on kagiso, smirom, copper, and Windows.
2006-12-12 16:41:42 -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
Quincey Koziol
06ba931a95 [svn-r13016] Description:
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)
2006-12-04 09:34:10 -05:00
Quincey Koziol
304accfb96 [svn-r13015] Description:
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)
2006-12-04 06:25:01 -05:00
Quincey Koziol
9f39e59d91 [svn-r13012] Description:
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)
2006-12-03 10:29:41 -05:00
Quincey Koziol
27c0fb2220 [svn-r13002] Description:
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...
2006-11-30 16:38:30 -05:00
Quincey Koziol
03c994ee59 [svn-r12987] Description:
Clear up some confusion for the internal H5V_log2_gen() routine, so it
always takes a 64-bit value as a parameter.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-11-27 16:08:29 -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
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
1062b4f9d7 [svn-r12802] Description:
Clean up code in passing...

Tested on:
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    FreeBSD/32 4.11(sleipnir)
    Mac OS/32 10.4.8 (amazon)
2006-10-23 10:03:15 -05:00
Quincey Koziol
9848ea0387 [svn-r12761] Description:
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
2006-10-16 09:46:00 -05:00
Quincey Koziol
c0c896e724 [svn-r12740] Description:
Update datasets and the layout, attributes and fill-value
object header messages to use the latest version
of the file format flag.

Tested  on:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
2006-10-10 15:36:33 -05:00
Quincey Koziol
14dcb6db33 [svn-r12736] Description:
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)

    Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back.  (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
    Carry those changes into the tests, etc.

    Clean up a bunch more compiler warnings.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-1.6-compat
2006-10-08 23:18:18 -05:00
Quincey Koziol
16fe9dbb82 [svn-r12712] Description:
Finish 'use the latest version of the format' changes to the datatype
object header message.  Compound and enumerated types will now be encoded
more efficiently by packing the field names & member offsets better.

Tested on:
    Linux 2.6/32 (chicago)
    Linux 2.6/64 (chicago2)
2006-10-03 11:05:09 -05:00
Quincey Koziol
e9ea7e8eaf [svn-r12708] Description:
Add the "use the latest version of the format" support to datatype
messages.  And a regression test to check that it's working.

    Also, found that we have been over-allocating space for compound datatype
messages (when they have array datatypes or can use the latest version of the
format) and trimmed the size back.

    Clean up datatype & dataspace encode/decode routines by having them
allocate & release "fake" file structures, which gets them out of needing to
"know" about the internals of file structures.

    Other minor whitespace/formatting cleanups, etc.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-02 19:54:33 -05:00
Quincey Koziol
c77e39522b [svn-r12680] Description:
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)
2006-09-25 17:22:14 -05:00
Quincey Koziol
7be3afb278 [svn-r12440] Purpose:
Code cleanup

Description:
    Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.

Platforms tested:
    None necessary, whitespace only change
2006-06-27 09:45:06 -05:00
Quincey Koziol
8d72542a50 [svn-r12439] Purpose:
New feature

Description:
    Check in Peter's code to add support for "shallow copy", "create
intermediate groups", "no attributes" and "expand soft links" support.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Linux 2.4 (chicago) w/ & w/o group-revision enabled
    h5committest
2006-06-26 17:01:43 -05:00
Quincey Koziol
d165e1d8e7 [svn-r12191] Purpose:
Bug fix

Description:
    Correct the handling of the group creation property list when copying
objects with the "create intermediate groups" flag.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest (once I pay attention to the compiler
warnings... :-)
2006-04-02 10:29:35 -05:00
Quincey Koziol
4659f50b83 [svn-r12189] Purpose:
New/expanded features

Description:
    Check in Peter's changed for the object copy code:
        - Allow/fix copying datasets using named variable-length datatypes
        - Start adding framework for property list to control how object
            copying occurs.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2006-04-01 15:14:11 -05:00
Quincey Koziol
2d6bcc3212 [svn-r12108] Purpose:
Code cleanup

Description:
    Move VAX floating-point definitions down by the other machine specific ones.

    Re-work the version handling for VAX byte ordered floating-point numbers.
Version numbers ought to be strictly increasing, not a bit-field.

Platforms tested:
    FreeBSD 4.11 (sleipnir)
2006-03-16 16:14:14 -05:00