Commit Graph

81 Commits

Author SHA1 Message Date
Mohamad Chaarawi
32baeca60f [svn-r24720] bring r24709 from trunk:
rename H5V to H5VM since H5V is needed in the fastforward project for
view objects.  The addition of view objects in the fastforward project
is expected to be brough into the trunk sometimes in the future, which
is why we need to make this change.
2014-02-17 19:19:34 -05:00
Quincey Koziol
177cbf2b9b [svn-r22239] Description:
Bring r22233 from trunk to 1.8 branch:

   Correct several errors in fractal heap code: root indirect block was
getting pinned/protected more than once, "single" free space sections weren't
getting "re-parented" correctly when the heap transitioned between having a
root indirect block and a root direct block, and several related issues.  Also
cleaned up some warnings in library/tests.

Tested on:
   FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode
   FreeBSD/64 8.2 (freedom) w/gcc4.6, w/C++ & FORTRAN, in debug mode
   Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
       w/C++ & FORTRAN, w/threadsafe, in debug mode
   Linux/64-amd64 2.6 (koala) w/Intel compilers, w/default API=1.6.x,
       w/C++ & FORTRAN, in production mode
   Mac OSX/64 10.7.3 (amazon) w/debug
2012-04-02 13:21:05 -05:00
Quincey Koziol
5c0ed1b304 [svn-r22113] Description:
Bring r22112 from trunk to 1.8 branch:

        Minor code safety issue in test/fheap.c and whitespace in other files.

Tested on:
        Mac OSX/64 10.7.3 (amazon) w/debug
        (Too minor to require h5committest)
2012-03-21 15:28:59 -05:00
Neil Fortner
4ad6d32bfe [svn-r20531] 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:14:32 -05:00
Raymond Lu
ccaefedaf2 [svn-r20301] brought revisions 19868:20300 from the 1.8.6_vms branch to the 1.8 branch 2011-03-23 11:41:44 -05:00
Quincey Koziol
d1117ac78c [svn-r19655] Description:
Bring r19654 from trunk to 1.8 branch:

Bring Coverity revisions from branch back to trunk, and clean up some other
misc. compiler warnings also.

r19500:
Fix coverity items 1446 and 1447.  Moved up calls to memset in test_cont in
ohdr.c so the test never tries to close uninitialized locations.

r19501:
Fix coverity items 1398-1445.  Various uninitialized variable errors in fheap.c.

r19502:
Fixed coverity issue 579 and some additional warnings in the file as well.

r19503:
Bug fix: This fix addressed the "RESOURCE_LEAK" problems #789 and 790, run 26

r19504:
minor mods to try to keep coverity from flagging false positives.

r19505:
Fixed coverity issues 566 - 571.  Declared variables that are passed to functions that use them as arrays to be arrays of size 1.


Tested on:
   Mac OS X/32 10.6.4 (amazon) w/debug, production & parallel
  (h5committested on coverity branch)
2010-10-21 09:08:13 -05:00
Neil Fortner
6ef5b395ea [svn-r19388] Purpose: Fix build error
Description:
When merging r19386 from the trunk calls to H5AC_ignore_tags were not removed.
This has been corrected.

Tested: Fedora
2010-09-15 13:31:24 -05:00
Neil Fortner
bf8d33a34b [svn-r19387] Purpose: Fix assertion failure caused by fractal heap header file pointer
Description:
The fractal heap header structure keeps a pointer to the file associated with
it.  However, it is possible for that file pointer to be closed while the
header is still in cache (through the shared file pointer).  Previously, the
header's file pointer was not updated and subsequently pointed to an invalid
file structure.  Modified fractal heap code to update the file pointer every
time the header is accessed.

Tested: jam, linew, amani (h5committest)
2010-09-15 10:33:03 -05:00
Quincey Koziol
53d5ccb17e [svn-r18633] Description:
Bring r18632 from trunk to 1.8 branch:

    Clean up memory leak in test code.

Tested on:
   Linux/64 2.4 (amani) w/debug & valgrind
2010-04-27 13:20:16 -05:00
Quincey Koziol
d8c4700561 [svn-r17807] Description:
Bring r17623 from trunk to 1.8 branch:

	Bring "compress group's fractal heap" feature from feature 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 (jam) w/PGI compilers, w/default API=1.8.x,
               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 debug mode
       Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
       Mac OS X/32 10.6.1 (amazon) in debug mode
       Mac OS X/32 10.6.1 (amazon) w/C++ & FORTRAN, w/threadsafe,
               in production mode
2009-11-03 08:17:14 -05:00
Quincey Koziol
981ba55190 [svn-r17266] Description:
Clean up various compiler warnings from IRIX64 build

Tested on:
    Mac OS X/32 (amazon) debug & production
    (yes, I know it's not an IRIX64 system :-)
    Too minor to require h5committest
2009-07-29 19:17:17 -05:00
Neil Fortner
01c179093f [svn-r17208] Fixed a small bug in the fractal heap code involving filtered fractal heaps.
Tested: jam, linew, smirom (h5committest)
2009-07-21 14:22:17 -05:00
Quincey Koziol
8f3811e1b1 [svn-r15869] Description:
Bring r15868 from trunk to 1.8 release branch:

	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 22:53:09 -05:00
Quincey Koziol
070a4899bf [svn-r15827] Description:
Correct mis-merge in last set of changes from the trunk.

Tested on:
	FreeBSD/32 6.3 (duty)
2008-10-09 07:31:06 -05:00
Quincey Koziol
261bbe39aa [svn-r15826] Description:
Bring revision 15825 from trunk:

	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:
	FreeBSD/32 6.3 (duty)
	Already tested on other machine, in trunk.
2008-10-08 22:52:46 -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
6878261a43 [svn-r14353] Description:
- Add hash value for skip list string types, to reduce # of string
        comparisons.
    - Fixed bug with metadata/small data block aggregator adding size == 0
        block into file free space list.
    - Refactored metadata/small data block aggregator code into single set of
        common routines.
    - Changed block aggregator code to be smarter about releasing space in the
        'other' block when the 'other' block has aggregated enough data.

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-12-20 15:36:08 -05:00
Quincey Koziol
665366d499 [svn-r14085] Description:
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)
2007-08-14 11:04:42 -05:00
Quincey Koziol
4dc989f282 [svn-r14083] Description:
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)
2007-08-14 08:33:14 -05:00
Quincey Koziol
d6bb18abbc [svn-r13648] Description:
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)
2007-04-11 20:59:45 -05:00
Quincey Koziol
0fb88ded47 [svn-r13580] Description:
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)
2007-04-03 14:51:14 -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
Raymond Lu
0f83bd0964 [svn-r13282] Skip this test if the driver is direct and the express test mode is
set on because it takes too long on copper.
2007-02-12 16:07:40 -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
fa11904aab [svn-r13151] Description:
Clean up compiler warnings, esp. on Windows

Tested on:
	FreeBSD/32 6.2 (duty)
	Mac OS X/32 10.4.8 (amazon)
2007-01-17 18:37:24 -05:00
Quincey Koziol
d6c27d4b4d [svn-r13115] Description:
Allow a heap to be marked for deletion while it is still open and
being accessed.  (Blocks further opens though).

Tested on:
	FreeBSD/32 6.1 (duty)
2007-01-06 15:50:45 -05:00
Quincey Koziol
ddbc06fce6 [svn-r13067] Description:
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)
2006-12-18 12:52:43 -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
4ef5853e2d [svn-r12989] Description:
Remove incorrect sanity check & add test case that triggered it.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-11-28 10:25:59 -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
02bba16ee0 [svn-r12823] Description:
Add support for compress heap blocks in "managed" heaps.

    Also, fix bug when the first direct block moves between having a parent
and not having one (and vice versa), which occurs when the heap moves between
having a direct root block and having an indirect root block.

Tested on:
    FreeBSD 4.11 (sleipnir) w/threadsafe
    Linux/32 2.4 (heping) w/C++ & FORTRAN
    Linux/64 2.4 (mir) w/build-all & 1.6 compat
2006-10-28 21:17: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
79aecf8953 [svn-r12706] Description:
Clean up some of the warnings on 64-bit Linux...

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
    Too minor to require h5committest
2006-10-02 14:59:46 -05:00
Quincey Koziol
22a3d4b0c9 [svn-r12702] Description:
Add test to fractal heaps to exercise issues with opening the same heap
through two different file handles.

    Fix issues with file handle contexts in metadata cache callbacks for heap
components.

    Fix bug in file close handling where cached information was being
invalidated even when another file handle was open to the file.

Tested on:
    FreeBSD/32 4.11 (sleipnir) w/threadsafe
    Linux/64 2.4 (mir) w/1.6 compat
    Linux/32 2.4 (heping) w/FORTRAN & C++
    Mac OSX/32 10.4.8 (amazon)
2006-10-02 09:45:49 -05:00
Quincey Koziol
53a2d21415 [svn-r12682] Description:
Make Windows64 compiler happy by initializing variable... :-)

Tested on:
    None - just eyeballed (very minor)
2006-09-26 10:05:42 -05:00
Quincey Koziol
0ffb6caabd [svn-r12666] Description:
Initialize local variable that is causing compiler problems on Windows/64

Tested on:
    None - too trivial
2006-09-14 12:35:39 -05:00
Quincey Koziol
e5cad0ef24 [svn-r12655] Description:
Add "op" routine to perform operation on heap object "in situ", to allow
for faster operations on dense links during B-tree traversal & lookup.
Refactor the "read" routine to use the internal version of the "op" routine,
to keep the code duplication as low as possible.

Tested on:
    Mac OS X.4/PPC (amazon)
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-09-11 12:25:26 -05:00
James Laird
0274a5f3a2 [svn-r12627] Skipped links and fheap tests when stdio file driver is used.
These errors should be investigated more thoroughly later.  The underlying
problem in links.c seems to be that files opened multiple times don't share
the same H5F_shared_t struct.  Perhaps identifying when this is the case
would be helpful?

Tested on mir.
2006-08-24 11:09:23 -05:00
Quincey Koziol
c2c6e2d0d5 [svn-r12611] Description:
Remove unused flag byte from fractal heap metadata on disk.

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:20:49 -05:00
Quincey Koziol
dfd71ce126 [svn-r12610] Description:
Add support for checksumming fractal heaps.  This is always enabled for
the heap header and indirect blocks (as they are "pure" metadata) and is
optional for direct blocks, since they may be used for "raw" data.

    Also, rearrange direct block routines in H5HFcache.c to be in a more
sensible location in the file.  (probably should have been a separate checkin,
since the diffs are mostly useless for this checkin... *sigh*)

Tested on:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago2)
2006-08-22 12:13:17 -05:00
Quincey Koziol
d327b6eae6 [svn-r12603] Description:
Add a bunch more regression tests:
        - Verify opening a fractal heap more than once works correctly
        - Check that 0 & 1-sized object insertions are handled correctly
        - Check that bad heap IDs are detected when attempting to read an
            object
        - Check that doubling tables with different parameter values are
            working correctly

    Add some more checks to the code to detect 0-sized object insertions and
bad heap IDs for reading.

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/32 2.4 (heping)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-21 09:56:20 -05:00
Quincey Koziol
5a7ef381b2 [svn-r12598] Description:
- Migrate "direct block location" routine from H5HFman.c to H5HFdblock.c,
        which is a more appropriate location
    - Optimize performance of heap code by taking advantage of pinned
        indirect blocks and use them without putting a metadata cache
        protect/unprotect pair around them.
    - Other minor compiler warning cleanups and optimizations...

Tested On:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-18 21:42:18 -05:00
Quincey Koziol
49d1901fdd [svn-r12592] Description:
Several changes, all mooshed together:
        - Add support for "tiny" objects - which can be stored in the heap
            ID itself, instead of in the heap data blocks.
        - Flesh out support for compressed direct blocks, but comment it
            out until John's got some metadata cache changes in place to
            support it.
        - Add support for applying I/O pipeline filters to 'huge' objects
        - Refactor 'huge' object code to store information for 'huge' objects
            directly in the heap ID, when there are I/O pipeline filters
            applied to the heap (and the heap ID is large enough to hold the
            information)
        - Update h5debug tool to correctly handle 'huge' & 'tiny' objects.
        - Misc. other code cleanups, etc.

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-17 10:59:14 -05:00
Quincey Koziol
89f36d62b7 [svn-r12575] Description:
Allow the heap ID length to be chosen at heap creation time, to allow
for making heap IDs long enough to directly embed the file offset & length
of 'huge' objects in the heap ID (which allows them to be retrieved directly
from disk, instead of requiring them to be looked up in the B-tree that tracks
'huge' objects)

Tested on:
    FreeBSD/32 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 9 (shanti)
2006-08-13 21:50:11 -05:00
Quincey Koziol
c4a5b8e16c [svn-r12573] Description:
Clean up a couple of compiler warnings in the 'huge' object code in the
library.

    Add a bunch of 'huge' object regression tests

Tested on:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Solaris/64 2.9 (shanti)
2006-08-12 23:18:45 -05:00
Quincey Koziol
67eba917e2 [svn-r12565] Description:
Move metadata cache address rename for fractal heap indirect block
immediately after reallocing the storage on disk - to prevent another
routine in the library from confusing the cache by allocating more storage
and attempting to insert it in metadata cache at the old block's location.

    Gotta like those monte carlo/random insert & delete tests, which exposed
this... :-)

Tested:
    Solaris 2.9 (shanti)
    Not failing on other machines
2006-08-11 13:47:44 -05:00
Quincey Koziol
b648c14f13 [svn-r12562] Description:
Initial revision to add support for "huge" objects in the heap (which are
actually stored directly in the file, but are tracked with v2 B-tree that is
accessed through heap header).

Testing:
    FreeBSD 4.11 (sleipnir)
    Linux/64 2.4 (mir)
    Linux/32 2.4 (heping)
    Mac OS X.4 (amazon)
2006-08-09 22:45:06 -05:00
Quincey Koziol
d17d42acd0 [svn-r12552] Description:
More tweaks on fractal heap statistics, to better separate information
about managed objects from information about "huge" objects.

    Also, clean up some compiler warnings, etc. on 64-bit platforms & Windows.

Platforms tested:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago)
2006-08-07 16:24:29 -05:00
Quincey Koziol
4f289e5b92 [svn-r12551] Description:
Refactor fields in heap header to clean out information from dropped
features and also group related fields together more nicely.

    Add fields to heap header for storing information about "huge" objects.

Platforms tested:
    Linux/32 2.6 (chicago)
    Linux/64 2.6 (chicago)
2006-08-07 14:51:59 -05:00
Quincey Koziol
80b1c44327 [svn-r12550] Description:
Refactor fractal heap IDs to include "flag byte" as part of the ID.  This
byte will be used for the heap ID format version as well as flags to indicate
whether the heap object is a "tiny"/normal/"huge" object (with storage
mechanisms optimized for each type of object).

Platforms tested:
    Linux/32 2.4 (chicago)
    Too minor to require h5committest
2006-08-07 13:18:17 -05:00