Commit Graph

2310 Commits

Author SHA1 Message Date
Quincey Koziol
856a80b949 [svn-r17150] Description:
Bring r17148:17149 from trunk into 1.8 branch:

   Refactor how chunked dataset information is computed, moving it earlier and
avoiding more recomputation.

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/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.5.7 (amazon) in debug mode
   Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
       in production mode
2009-07-02 18:38:38 -05:00
Quincey Koziol
b0df711c3c [svn-r17147] Description:
Bring r17146 from trunk to 1.8 branch:

        Bring a bunch of misc. improvements & tweaks from the revise_chunks
branch back to the trunk, so that future merges won't be so painful.

Tested on:
	FreeBSd/32 6.3 (duty)
	(h5committested on trunk)
2009-07-02 16:17:02 -05:00
Raymond Lu
2d0b2588f6 [svn-r17131] Corrected some typos. No test is needed. 2009-06-30 11:10:00 -05:00
Raymond Lu
2a6efe9e10 [svn-r17127] A revision from last round of checkin (r17124). H5Aopen_name has been deprecated. I
replaced it with H5Aopen in this round.  I also updated some hard-coded numbers with some
macros.

Tested on jam only.  I have tested the same change for the trunk.
2009-06-29 13:24:00 -05:00
Raymond Lu
c0f0e7c419 [svn-r17124] Bug fix #1513. Reading an empty attribute caused seg fault. The flag "initialized" in
the attribute structure wan't set correctly.  It caused some confusion in H5A_read.  This
flag was actually redundant because the library can alwasy check if the data buffer is
present.  To fix it, I removed the "initialized" flag in the attribute structure and let
H5A_read check the data buffer.

I tested it on jam only but have tested the same change for the trunk on jam, smirom, 
and linew.
2009-06-26 15:24:42 -05:00
Neil Fortner
f5fddfb7c1 [svn-r17109] Purpose: Fix bug in H5Z_filter_info
Description:
Previously, when H5Z_filter_info was called for a filter that was not present,
it would succeed and return the information from one position past the end of
the pipeline, possibly causing a segfault.  This affected at least
H5Pget_fitler_by_id1/2, and possibly other API functions.  Fixed to properly
return failure.

Tested: jam, linew, smirom (h5committest)
2009-06-25 13:58:51 -05:00
Quincey Koziol
b6cfe32b73 [svn-r17083] Description:
Bring r17010,17017,17021-17022,17029-17031,17035 back from trunk:

	"temporary" file allocation space changes.

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/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.5.7 (amazon) in debug mode
        Mac OS X/32 10.5.7 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-06-18 12:20:50 -05:00
Neil Fortner
bc2bd03a46 [svn-r17026] Purpose: fix bug 1593
Description:
When using H5T_copy on committed datatypes that are already open, H5T_copy would
properly use the already existing shared struct, but would still deep copy all
of the fields in that struct.  This would cause memory leaks, and in the case of
a compound containing a vlen (or reference), the change in size would cause the
size of the resulting type to be set to an incorrect value.  Changed H5T_copy to
properly avoid deep copies when using a reopened shared struct.

Tested: jam, linew, smirom (h5committest), purify on jam
2009-06-10 14:22:09 -05:00
Larry Knox
95bd7eac47 [svn-r16993] Snapshot version 1.8 release 3 (snap0) 2009-06-01 12:53:19 -05:00
Raymond Lu
a1b11b8d47 [svn-r16922] Allow an error class to use other class's major or minor errors. Added a test for it, too.
Tested on jam - simple change. I've tested it for the trunk.
2009-05-05 13:57:43 -05:00
Quincey Koziol
548eec3070 [svn-r16920] Description:
Merge these trunk revisions which occurred during the 1.8.3 release code
freeze back to the 1.8 branch:

    From Quincey: 16845 16847 16849 16851 16858 16869 16897

    From Ray: 16859 16880

    From Allen: 16863

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/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.5.6 (amazon) in debug mode
    Mac OS X/32 10.5.6 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-05-05 10:05:17 -05:00
Neil Fortner
233fa9bee7 [svn-r16808] Purpose: Fix bug 1533
Description:
Previously, there was no versioning for H5Z_class_t.  This prevented applications
written for 1.6 using custom filters from being able to use the 1.8 library.
There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility.  H5Zregister is
*not* versioned, it determines which version of the struct has been passed in by the
value of the first field (id or version, both are ints).

Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
2009-04-20 14:17:59 -05:00
Neil Fortner
90aea941c5 [svn-r16804] Purpose: Fix bug 1548
Description:
When writing data to a dataset, the data transform was performed after type conversion.
This caused an error if the file type was non-native.  This has been changed so data
transforms are always performed on the memory type.

Tested: jam, linew. smirom (h5committest)
2009-04-20 11:59:01 -05:00
Mike McGreevy
8339217374 [svn-r16793] Description:
- Updated bin/reconfigure to use latest version of automake (1.10.2). 
      Regenerated Makefile.in's by running bin/reconfigure.

    - Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
      libraries.

Tested:

    jam, liberty, smirom
2009-04-20 01:03:29 -05:00
Raymond Lu
ccb31223c4 [svn-r16778] A minor correction of previous checkin. The original files created with v1.6 library could
be deleted by cleanup routine.  I corrected it in this checkin.

Tested on jam - simple change.
2009-04-17 10:30:17 -05:00
Raymond Lu
0e08da8023 [svn-r16758] The test of family file compatibility with v1.6 used the original family files under the library
source directory.  Since the test opens the files with write mode, it's safer to make copies of 
the original files.  I added the copying step in test_family_compat in vfd.c.  I changed the 
Makefile.am to clean up the copied files.  I created a new family_v16_00000.h5 with v1.6 library.

Tested on jam - supposed to be simple change.
2009-04-15 16:15:04 -05:00
Larry Knox
696cf9552c [svn-r16740] Snapshot version 1.8 release 2 (post12) 2009-04-12 18:14:07 -05:00
Neil Fortner
27af18b852 [svn-r16733] Revert change to family_16_00000.h5 from latest snapshot release. Raymond is
working on fixing this.
2009-04-10 15:40:48 -05:00
Neil Fortner
6285924944 [svn-r16731] Purpose: Fix bug 1539b
Description:
The H5L interface was not marked as uninitialized when H5L_term_interface was
called.  This caused the interface to not initialize itself later on.  This
prevented external links from working after calling H5close, because they were
never re-registered.

Tested: jam, smirom, linew (h5committest)
2009-04-10 15:15:31 -05:00
Larry Knox
f01cd9be2d [svn-r16725] Snapshot version 1.8 release 2 (post11) 2009-04-09 20:53:47 -05:00
Neil Fortner
ef77500b28 [svn-r16712] Purpose: Fix bug 1423
Description:
Versions of the library between 1.3.0 and 1.6.3 have a bug which prevents them
from opening any file that does not have the root group's symbol table
information cached in the root group's entry in the superblock.  Prior to 1.8
this was not an issue as this information was always cached.  However, 1.8.0
stopped writing this information (which is not required by the file format
specification), and these older versions can therefore not read files created or
last written by versions 1.8.0 to 1.8.2.  This fix modifies the library to once
again add this information to the superblock (when using the old file format).

Tested: jam, linew, smirom (h5committest)
2009-04-08 17:16:45 -05:00
Neil Fortner
48b127f628 [svn-r16699] Purpose: Fix bug 503
Description:
Changed Skip list package to use a deterministic skip list.  This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r().  There is no longer a p-value or maximum level for skip lists.

Tested: jam, smirom, linew (h5committest)
2009-04-08 12:05:17 -05:00
Neil Fortner
dc2b6bbce0 [svn-r16695] Purpose: Fix bug 1526
Description:
Previously, H5Lcopy and H5Lmove would (through H5L_move) improperly apply the
"create intermediate groups" property to the source path traversal, and not the
destination.  Fixed it to apply the property to the destination and not the
source.  Also fixed H5Lcreate_ud to reject internal link classes without
throwing an assertion.

Tested: linew, jam, smirom (h5committtest)
2009-04-07 18:12:44 -05:00
Raymond Lu
9e148522d5 [svn-r16652] Bug fix #1503 - H5Iget_type failed unexpected when an invalid ID was passed in. I put
some argument check in the internal function H5I_find_id and took out the assertion check.
I also removed the argument check in H5Iis_valid because it's in H5I_find_id now.

Tested on jam and linew - simple change.
2009-04-01 17:02:44 -05:00
Neil Fortner
9863d5aee2 [svn-r16616] Purpose: Fix bug 1499
Description:
Due to a bug in H5F_super_read, every time a file with a user block was opened
it would grow by the size of the user block.  The bug has been fixed, and
comments have been added to clarify when an eoa address should be relative and
when it should be absolute.

Tested:
jam, linew (h5committest)
2009-03-26 10:29:23 -05:00
Raymond Lu
2def5e4c85 [svn-r16613] In previous checkin (r16609), the flag "write_driver" wasn't necessary as Quincey pointed out.
I took it out and used the driver address instead.

Tested on jam - simple change.
2009-03-25 14:49:19 -05:00
Raymond Lu
30ccff2212 [svn-r16608] Bug fix (#1161): When a family file created with v1.6 library is opened and closed with
v1.8 library, v1.8 library writes the driver info block in the superblock.  But v1.6
doesn't write it.  This caused the data after the superblock to be overwritten.  The
solution is to use a flag to indicate when the original file doesn't have the driver
info, v1.8 library doesn't write it either.

Tested on jam.  I have some trouble to access smirom and linew using h5committest.
2009-03-24 16:32:50 -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
4201a8fbfe [svn-r16577] Description:
Actually set the exit value for the test (*sigh*)
2009-03-12 15:14:37 -05:00
Quincey Koziol
042ed7661a [svn-r16575] Description:
Bring r16574 back from trunk:

        Clean up many compiler warnings and make test return non-zero exit code
when a failure is detected.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
	(other platforms tested on trunk)
2009-03-12 13:21:47 -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
Mike McGreevy
ddf384fb35 [svn-r16562] Purpose:
Bug Fix

Description:

    Fixing BZ #1381. The --includedir=DIR configure option, which is used to
    spceify installation location of C header files, did not work correctly as
    the path was hard-coded into config/commence.am. I'm presuming this is
    because an older version of automake didn't know where to put C header
    files. In any case, removing this line now defaults the includedir to the
    same directory that it is currently hard-coded to, and also fixes the
    configure flag which allows for customization of this value.

Tested:

    jam, liberty
2009-03-10 16:07:50 -05:00
Raymond Lu
db81699a13 [svn-r16538] Added more test case for bypassing the cache. In test_big_chunks_bypass_cache,
test the correctness of the data when the fill value is defined or not.  The 
library should let the chunks bypass the cache depending on the size of the 
chunks and whether to write fill value to the chunks.

Tested on jam - simple change.
2009-03-03 14:35:34 -05:00
Neil Fortner
d9836c44a6 [svn-r16524] Purpose: Fix bugs related to H5Dset_extent and fill values
Description:
In some situations it was possible for the fill value to not be written to parts
of a chunked dataset, particularly when extending and/or shrinking.  Prior to
the fix for the chunk cache (1015) these bugs would have been exceedingly rare.

Tested: jam, smirom, linew (h5committest)
2009-02-27 12:06:50 -05:00
Pedro Vicente Nunes
086c205ca4 [svn-r16519] merge 16518 from trunk
have 2 expected outputs for 2 h5ls runs depending if run on a big or little endian machine. Configure.in was modified to export a variable carrying endianess information to testh5ls.sh. This script then compares the current run with 2 expected outputs, one for a big-endian machine (linew was used to generate the output), other for little endian (jam was used to generate the output)
the way h5ls prints types, it starts searching for NATIVE types first. One solution would be h5ls not to detect these native types, using for example the same print datatype function that h5dump does, that would make the output look the same on all platforms  ("32-bit little-endian integer" would be printed instead).  Drawback, this "native" information would not be available. Other solution is to have not one but 2 expected outputs and make the shell script detect the endianess and compare with one output or other
tested: jam, linew
2009-02-26 16:25:57 -05:00
Pedro Vicente Nunes
fe217cfd57 [svn-r16512] merge 16511 from trunk
bug fix: TESTING2 macro introduced recently for the test suite (it adds an extra space at the beginning of output, for indentation) was already available for HL and caused compilation problems on AIX. Replaced the name with TESTING_2


tested: h5committest
2009-02-23 15:30:04 -05:00
Quincey Koziol
494226aaf6 [svn-r16495] Description:
Bring r16488 back from trunk:

    Clean up code and eliminate resource leaks.  Also avoid "null" I/O when
chunk doesn't exist and we can skip it.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (too minor to require h5committest)
2009-02-19 14:38:20 -05:00
Quincey Koziol
0a9ad6a46e [svn-r16494] Description:
Bring r16483 back from trunk:

    Clean up (i.e. remove) more internal calls to H5E_clear_stack(), along with
    some other minor code cleanups.

Tested on:
    Mac OS X/32 10.5.6 (amazon)
    (too minor to require h5committest)
2009-02-19 14:36:52 -05:00
Allen Byrne
c880943ce9 [svn-r16490] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   XP32, VNET
2009-02-18 15:05:49 -05:00
Vailin Choi
61346d50fa [svn-r16487] Checkin for moving messages forward into continuation message:
src/H5Oalloc.c, test/ohdr.c, toshm.c
Fixed couple of problems in src/H5Odbg.c.
h5committested.
2009-02-16 16:33:04 -05:00
Neil Fortner
9ebf3291c9 [svn-r16481] Purpose: Improve chunk cache
Description:
The meaning of the "nbytes" field in H5D_rdcc_t was not clear, and some places
assumed it was the maximum size of the chunk cache, while some assumed it was
the current size of the chunk cache.  The end result was that only 1 chunk could
be held in cache at a time.  This field has been replaced by "nbytes_max" and
"nbytes_used".  Performance of cached I/O should improve greatly.

Tested: jam, smirom (h5committest)
2009-02-12 15:49:02 -05:00
Neil Fortner
5a6c75cc58 [svn-r16478] Purpose: Fix problem with opening an attribute multiple times through multiple
file handles.

Description:
An attribute's "oloc" field which specifies the file it resides in was located
in the attribute's "shared" structure.  So when an attribute was opened multiple
times all of the handles for that attribute pointed to the same file id, even if
different file id's were used to open the different handles for the attribute.
The "oloc" has been moved to the top level H5A_t struct.

Tested: jam, smirom (h5committest)
2009-02-12 14:09:10 -05:00
Neil Fortner
582afd39e3 [svn-r16476] Purpose: Fix rare error when adding a new object header message
Description:
Since the new object header format, it has been possible for a situation to be
created where none of the messages are large enough to hold a continuation
message and there are no null messages to merge with.  This makes it impossible
to add a new object header chunk.  This case will now be handled by moving every
message in the last chunk to the newly allocated one, except for null messages
which are deleted.

Tested: jam, smirom (h5committest)
2009-02-12 14:01:19 -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
Larry Knox
b566fea225 [svn-r16471] Change H5Dopen to H5Dopen2 - fixes compile error - too many arguments for H5Dopen1 when using v1.6 compatible flag. Trivial change, tested on smirom and jam. 2009-02-12 11:10:35 -05:00
Raymond Lu
87cdac5fe9 [svn-r16467] Performance Improvement(bug #1450). When a chunk is bigger than the cache size and isn't allocated
on disk, the library still loaded it in the cache, which is redundant.  I changed it to bypass the
cache and added a test in dsets.c.


Tested on jam and smirom.
2009-02-11 14:22:59 -05:00
Quincey Koziol
066329f44b [svn-r16440] Description:
Bring r16435 from revise_chunks branch back to 1.8 branch:

        Expand object copy tests for chunked datasets to include 1-D datasets
with an unlimited dimension.  (Fix typo in comment for test/links.c)

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        (more thoroughly tested already on revise_chunks branch)
2009-02-05 11:04:22 -05:00
Pedro Vicente Nunes
704c6a99fc [svn-r16432] merge from trunk
Uncomment a h5cleanup() call previously accidently left commented 


Tested: windows
2009-02-05 10:07:45 -05:00
Pedro Vicente Nunes
25a2837cb5 [svn-r16422] bug fix: a open call was not made the expected FAPL
tested: windows, linux (split, sec2)
2009-02-04 14:29:24 -05:00
Pedro Vicente Nunes
3822ac7368 [svn-r16420] merge from trunk
#1449 Change set_extent test to use standard standalone test framework


Call h5_fixname (with an array of test filenames) for generating the  
filename to create and then call h5_cleanup() when the tests pass, to delete the files  
created and close the FAPL from h5_fileaccess(). 


Defined a macro 
#define TESTING2(WHAT)  {printf(" Testing %-62s",WHAT); fflush(stdout);}
Similar to TESTING, except that it has a initial indentation space.
The effect is for nested loop tests


Testing with old file format:
 Testing with fill value, no compression                                PASSED


tested: windows, linux
2009-02-04 10:53:00 -05:00