Commit Graph

66 Commits

Author SHA1 Message Date
Quincey Koziol
3d9e0b86ac [svn-r21923] Description:
Add FUNC_ENTER macros for package-private routines and begin process of
switching package routines to use them.  All H5G routines are currently
finished.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
2012-02-09 21:16:52 -05:00
Neil Fortner
7610dd20af [svn-r20529] Purpose: Add testing for bug 1864
Description:
Added internal tesitng routines to traverse a file and verify that symbol table
information is *always* cached, whenever possible.  Added this check to the end
of many tests to check all the test files, right before the call to h5_cleanup.

Tested: jam, amani, heiwa (h5committest)
2011-04-15 17:05:23 -05:00
Raymond Lu
3e8dc8cccc [svn-r20315] brought revisions 19868:20300 from the 1.8.6_vms branch to the trunk for VMS work 2011-03-24 13:33:45 -05:00
Quincey Koziol
47c3bc7540 [svn-r19272] Description:
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:
    Mac OS X/32 10.6.4 (amazon) w/debug & valgrind
    (h5committest forthcoming)
2010-08-20 16:37:12 -05:00
Raymond Lu
a428323f90 [svn-r18025] I removed a duplicated line from the read_old function. There were 2 identical calls to
the function H5Fopen.

Tested v1.8 branch on jam and the release 1.8.4 on OpenVMS.
2009-12-16 15:37:53 -05:00
Larry Knox
a99a73d20e [svn-r17688] Merge make local copy of svn test data files for write access from v1.8 to trunk.
Tested:
	amani, jam, linew (h5committest).
2009-10-20 10:08:56 -05:00
Neil Fortner
849d015bbd [svn-r16594] 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 13:51:29 -05:00
Raymond Lu
ea92781324 [svn-r16316] Added support for OpenVMS pathname for external links.
Tested on jam.  Tested v1.8 on OpenVMS.
2009-01-14 15:41:17 -05:00
Quincey Koziol
0e51a4244e [svn-r15868] Description:
Correct a minor error in file free space allocation which was affecting
the 'multi' VFD and preventing some tests from fully working with it.

	Wholesale revisitation of all the places where tests were disabled
with various VFDs and remove or correct all these so that _only_ the tests
which _really_ can't work with particular VFDs are skipped during a
'make check-vfd' test.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        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
2008-10-14 20:46:34 -05:00
Quincey Koziol
05cc7c234f [svn-r15825] Description:
Fix various problems with a the core & sec2 VFDs.

	Improve the h5_get_file_size() routine to handle files created with
VFDs that use multiple files.

Tested on:
        Mac OS X/32 10.5.5 (amazon) in debug mode
        Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
        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
2008-10-08 22:44:22 -05:00
Quincey Koziol
7fc10c0ea7 [svn-r14413] Description:
Change H5P[gs]et_format_bounds() => H5P[gs]et_libver_bounds() and also
enumerated values H5F_FORMAT_{EARLIEST, LATEST} => H5F_LIBVER_{EARLIEST, LATEST}

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-01-14 18:49:12 -05:00
Quincey Koziol
35694d44ae [svn-r14362] Description:
Switched from "H5P[gs]et_latest_format" to "H5P[gs]et_format_bounds".

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2008-01-03 08:55:39 -05:00
Quincey Koziol
24f2310b12 [svn-r14229] Description:
Change H5O[gs]et_comment to H5O[gs]et_comment_by_name and re-add simpler
forms of H5O[gs]et_comment.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
2007-11-01 13:24:08 -05:00
Quincey Koziol
e15bdb05e6 [svn-r14225] Description:
Change H5Oget_info -> H5Oget_info_by_name and re-add H5Oget_info in a
simpler form for querying a particular object, to align with other new API
routines.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-31 08:13:40 -05:00
Quincey Koziol
579284f422 [svn-r14144] Description:
Move H5Gget_objinfo() to deprecated symbols section and retarget
internal usage to H5Lget_info()/H5Oget_info().

	Misc. other code cleanups...

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	AIX/32 5.3 (copper)
	Solaris/32 2.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-09-13 10:44:56 -05:00
Quincey Koziol
c50c23d387 [svn-r14129] Description:
Add H5O{set|get}_comment routines, which were overlooked before.

	Move H5G{set|get}_comment routines to deprecated code section,
replacing internal calls with H5O{set|get}_comment.

Tested on:
	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)
	AIX/32 5.3 (copper)
	Mac OS X/32 10.4.10 (amazon)
2007-08-30 08:55:10 -05:00
Quincey Koziol
db3c155bf2 [svn-r14126] Description:
Move H5Gunlink to deprecated symbol section, replacing internal calls
with H5Ldelete.

Tested on:
	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)
	Mac OS X/32 10.4.10 (amazon)
2007-08-29 15:44:19 -05:00
Quincey Koziol
ea343ef854 [svn-r14115] Description:
Remove all plain calls to H5Gopen() from source, replacing them with
either H5Gopen2().

	Add test for H5Gopen1().

	Reformatted several pieces of code, to clean them up.

Tested on:
	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)
	Mac OS X/32 10.4.10 (amazon)
2007-08-28 10:02:54 -05:00
Quincey Koziol
f3926484ce [svn-r14112] Description:
Avoid file size queries/comparisons when using core VFD.

Tested on:
	FreeBSD/32 6.2 (duty) w/core VFD
2007-08-24 13:41:29 -05:00
Quincey Koziol
63eb5b9ebb [svn-r14104] Description:
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)
2007-08-23 15:25:25 -05:00
Quincey Koziol
d0a9cf9ffa [svn-r13871] Description:
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
2007-06-15 14:11:59 -05:00
Quincey Koziol
9d2070890b [svn-r13636] Description:
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)
2007-04-11 11:22:16 -05:00
Quincey Koziol
a64589450e [svn-r13498] Description:
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)
2007-03-11 21:38:08 -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
0b3cccd0cb [svn-r13496] Description:
Reduce size of "default" link message storage.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-03-10 22:06:05 -05:00
Quincey Koziol
9129a8452a [svn-r13493] Description:
Eliminate storing default values for "group info" fields.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-03-10 20:09:00 -05:00
Quincey Koziol
1eb19fc895 [svn-r13491] Description:
Reduce the size of the value used to store the # of bytes in the
"payload" for chunk 0 of an object header.

Tested on:
	FreeBSD/32 6.2 (duty)
2007-03-10 15:02:55 -05:00
Quincey Koziol
753a42edf6 [svn-r13490] Description:
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)
2007-03-10 14:08:42 -05:00
Quincey Koziol
a42a1b15ef [svn-r13488] Description:
Remove unused "min. creation order" field from link info object
header message.

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.8 (amazon)
2007-03-10 11:37:53 -05:00
Quincey Koziol
6cfd5c1462 [svn-r13487] Description:
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)
2007-03-10 10:47:59 -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
5c4bffc0d1 [svn-r13471] Description:
Fix a couple of expected size values that were missed earlier.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2007-03-06 14:04:36 -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
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
1b03a4cc34 [svn-r12992] Description:
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)
2006-11-28 15:29:28 -05:00
Quincey Koziol
1687720a5f [svn-r12991] Description:
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)
2006-11-28 13:51:23 -05:00
Quincey Koziol
0bd83631d5 [svn-r12990] Description:
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)
2006-11-28 12:43:54 -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
bcda3c2dbf [svn-r12833] Description:
Clean up more warnings...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-30 19:13:27 -05:00
Quincey Koziol
1202e83013 [svn-r12801] Description:
Fix several errors in the "latest version" of the object header format
changes and enable the new version when requested now.

    Clean up several confusing or duplicated sections of code.

Tested on:
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    FreeBSD/32 4.11 (sleipnir)
2006-10-23 05:15:52 -05:00
Quincey Koziol
2374bb1012 [svn-r12759] Description:
Fix errors with check-vfd and recent modifications to tests.

Tested on:
    Linux/64 2.4 (mir) w/check-vfd
2006-10-13 12:16:07 -05:00
Albert Cheng
e065eee4a8 [svn-r12751] Purpose:
Bug fix (related to 544)

Description:
h5_get_file_size() was coded to return 0 if failed but
file size can be 0.  Changed the failure return value to -1
which is allowed by the returned type of off_t which is a signed
type.
Also changed the checking code of the stat call to just == 0
since that is how it is defined.

Test:
Could test it in heping only.  Both Sol and Copper failed to
compiled due to error in the Direct IO VFD code.
2006-10-11 22:55:06 -05:00
Quincey Koziol
84a4166e72 [svn-r12707] Description:
Further minor modifications to the file format for tracking links in groups.
This is tentatively the "final" file format for groups.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-10-02 16:46:39 -05:00
Quincey Koziol
a6f6462541 [svn-r12700] Alert:
File format is not stable, don't keep files produced!

Description:
    First stage of checkins modifying the format of groups to support creation
order.  Implement "dense" storage for links in groups.

    Try to clarify some of the symbols for the H5L API.

    Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)

    Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).

    Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.

    Clean up lots of compiler warnings and other minor formatting issues.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Linux/64 2.4 (mir) w/enable-v1.6 compa
    Mac OSX/32 10.4.8 (amazon)
    AIX 5.3 (copper) w/parallel & FORTRAN
2006-10-02 05:24:03 -05:00
James Laird
3e755623cb [svn-r12528] Added User-Defined links to the library.
Users can create external links using H5L_create_external().  These links
point to an object in another HDF5 file.  Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.

Added tests, tools support, etc.

Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).

Additional documentation and examples are forthcoming.
2006-08-02 18:41:53 -05:00
James Laird
d296efb47e [svn-r12524] Changed number of arguments to H5Gcreate_expand. Should stop the DT from
dying again.
2006-08-02 10:59:05 -05:00
James Laird
beb04ae817 [svn-r12519] Fixed "make check-vfd"
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL).  Tests that fail will be skipped.

This is not a perfect fix, but is better than nothing.

Along with this change, check-vfd should be added to the Daily Tests.
2006-07-31 14:46:16 -05:00
starfire
8db4fe6d16 [svn-r12461] Cleaned up the names of some internal API functions, cleaned up comments,
fixed a few tests that used incorrect names for H5L APIs (formerly hidden behind
H5_GROUP_REVISION ifdefs

Mostly cosmetic changes, tested on mir.
2006-07-10 10:47:58 -05:00