Commit Graph

74 Commits

Author SHA1 Message Date
Jonathan Kim
10b62203a3 [svn-r22277] Purpose:
Fix for HDFFV-7993 - h5repack fails with error "chunk size must be <= maximum dimension size for fixed-sized dimensions"

Description:
  Fixed a failure when change the chunk size of a specified chunked dataset with unlimited max dims.
  Also took care of converting to contiguous and compact from the dataset.
  Test cases were added and tagged with jira#.

Tested:
  jam (linux32-LE), koala (linux64-LE), ostrich (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE cmake), Cmake (jam)
2012-04-11 15:57:10 -05:00
Quincey Koziol
a3dcbef52b [svn-r22180] Description:
Add new "metadata block size" command line option ('-M <x>' or
'--metadata_block_size=<x>') for h5repack.

Tested on:
    Mac OSX/64 10.7.3 (amazon) w/debug)
    (h5committest upcoming)
2012-03-29 05:49:38 -05:00
Allen Byrne
df6c92e506 [svn-r22004] Reduced warnings and fixed conflicts resulting from including h5tools.h
Tested: local linux
2012-02-28 13:26:34 -05:00
Allen Byrne
827cbbba31 [svn-r21982] Correct HD prefix in tools for exit
Checked for HD support.
2012-02-24 10:45:54 -05:00
Allen Byrne
0b4463911f [svn-r21974] Update HSIZE_T print statements to use correct macro.
Fix some more HD prefix issues in tools.

Tested: local linux
2012-02-23 14:08:09 -05:00
Jonathan Kim
00b9f24d9b [svn-r21869] Purpose:
Fix for HDFFV-7840 h5repack: memory leak over one of the h5diff test file

Description:
  Turned out that there were two causes of memory leaks.
  1. for handling variable length string in attribute. 
  2. for handling compound type with non-reference members.  
  The first issue is fixed in copy_attr() which is updated to use h5tools_detect_vlen to take care of vlen string as well as vlen data. 
  The second is fixed in copy_refs_attr() of compound handling code.
  
Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE),  Windows (32-LE), Cmake (jam)
2012-01-09 16:24:50 -05:00
Peter Cao
91f38293fa [svn-r21382] Update values of references(object and region) of attributes in h5repack for 1) references, 2) ARRAY of references, 3) VLEN of references, and 4) COMPOUND of references. 2011-09-14 10:48:50 -05:00
Quincey Koziol
a6d5fa2c7d [svn-r20061] Description:
Bring changes from Coverity branch to trunk:

r19930:
Fix memory leaks involving VL attributes in h5repack and h5diff.  The buffers in
copy_attr and diff_attr were not checked for the presence of a vlen before being
freed, and vlen storage was never reclaimed.  Added checks and calls to
H5D_vlen_reclaim().

r19933:
Purpose: Fix memory leak in H5L_move_cb()

Description: H5L_move_cb copied the source link using H5O_msg_copy() but freed
it manually using H5MM_xfree().  Since H5O_link_copy allocates the link using
H5FL_MALLOC, this causes the link to be allocated from the free list but is
never put back on the free list when it is freed.  This prevents the link free
list from shutting down properly.  Modified H5L_move_cb() and H5L_move_dest_cb()
to free the link properly using H5O_msg_free().

r19973:
Fix resource leaks by freeing string created by HD5f2string

r19974:
Issue #345: Inialize buf variable to null

Tested on:
    Mac OS X/32 10.6.6 (amazon) w/debug & production
    (h5committested on Coverity branch)
2011-02-07 19:53:45 -05:00
Peter Cao
c439bb5d29 [svn-r20012] Use "if...else" to exclude the use when travt is null. 2011-01-27 09:22:03 -05:00
Peter Cao
72938585be [svn-r20011] make sure that travt is nor null 2011-01-27 08:50:04 -05:00
Allen Byrne
68fa42f336 [svn-r18759] pull r18757 from 1.8 branch
Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status.
Also add windows import/export declarations to functions.
Updated error_mesg() and warn_mesg() to remove progname argument and use get functions

Tested:
   Windows, linux
2010-05-11 15:10:25 -05:00
Quincey Koziol
b9ca2f8f6f [svn-r18650] Description:
Bring back various minor tweaks & cleanups from the revise_chunks
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 (amani) 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
2010-04-27 17:15:14 -05:00
Jonathan Kim
20fd1f47b7 [svn-r18454] Purpose:
Fix for the bug1726 - NPOESS: h5repack loses attributes for datasets of 
    type H5T_REFERENCE.

Description:
    include test cases.
    also test cases for attribute with object and region reference.

Tested:
    jam, amani, linew
2010-03-25 12:29:51 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:29:13 -05:00
Quincey Koziol
34d14bdf89 [svn-r17980] Description:
Bring Coverity changes into the trunk: (also other minor cleanups)

r17955:
Fix Coverity item 24.  Add missing error condition to
H5AC_ext_config_2_int_config.

r17956:
Fix Coverity item 24.  Improve error checking in H5A_compact_build_table_cb.

r17957:
Fix Coverity item 150.  Fix warning in H5A_compact_build_table_cb.

r17958:
Fix Coverity item 117.  Fix error handling in H5B_shared_new.

r17959:
Fix Coverity item 209.  Added an assertion for leaf->shared in
H5B2_cache_leaf_dest.

r17960:
Fix Coverity item 208.  Added an assertion for internal->shared in
H5B2_cache_internal_dest.

r17961:
Fix Coverity item 89.  Reworked the code to avoid array overrun in
H5C__autoadjust__ageout__insert_new_marker.

r17962:
Fix for coverity Resource_leak 195,203,204,205.

r17963:
Fix Coverity item 44.  Prevented potential NULL dereference in H5D_btree_debug.

r17964:
Fix Coverity issues #197, 198 & 199: memory not being released.  (Also
clean up other resource leaks in nearby and/or similar code).

r17965:
Fix Coverity issue #151: release resources on error

r17966:
Fix Coverity issue #187: Remove leftover code remnant from prior bugfix
which was causing resource leak of open files.

r17967:
Fixed Coverity issues # 193 & 194.  Removed unnecessary memory allocation and
added comparison of length of path parameter to the size of the destination
buffer in h5import.h/h5import.c.

r17968:
Fix Coverity item 144.  Fixed memory leak on error in H5D_chunk_copy.

r17969:
Fix for coverity Resource_leak #196.

r17970:
Coverity 167-173:
Initialized pointer of buffers.
In error handling, closed types and free memory.

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.2 (amazon) in debug mode
    Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
        in production mode
2009-12-10 07:36:56 -05:00
Albert Cheng
e0b41d0b01 [svn-r17703] Bug fix: (1192)
Changed exit(1) to exit(EXIT_FAILURE) and exit(0) to exit(EXIT_SUCCESS) for
better coding.

Tested: jam.
2009-10-20 19:34:06 -05:00
Quincey Koziol
37ec6dc75e [svn-r17582] Description:
Bring changes from file free space branch back to the trunk.  *yay!*

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.5.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-01 21:08:59 -05:00
Pedro Vicente Nunes
ced8683011 [svn-r16663] cleaned compiler warnings in linux
tested: linux
2009-04-03 10:32:18 -05:00
Pedro Vicente Nunes
d0859bb174 [svn-r15678] formatted code
tested: windows, linux
2008-09-22 13:40:38 -05:00
Pedro Vicente Nunes
205b9019cf [svn-r15664] fix comments
tested: linux
2008-09-19 15:06:17 -05:00
Pedro Vicente Nunes
fffa1adc9a [svn-r15652] Cleaned compiler warnings
Bug fix: do not print print compression ratio when the requested filter is NONE

Tested: windows, linux
2008-09-18 11:06:28 -05:00
Pedro Vicente Nunes
54e35b67cf [svn-r15634] Add a default user block size of 1024 when none is given
Tested: windows, linux
2008-09-16 14:42:51 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] 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 10:52:51 -05:00
Pedro Vicente Nunes
cf05c2d762 [svn-r15556] Check options for H5Pset_alignment.
threshold is zero default (a valid value) but zero is not a valid alignment

tested: windows, linux
2008-08-29 14:54:21 -05:00
Pedro Vicente Nunes
f384b17625 [svn-r15551] 1) There are 2 new command line parameters for h5repack. Together they allow a call to H5Pset_alignment to be made
-t T, --threshold=T     Threshold value for H5Pset_alignment
   -a A, --alignment=A     Alignment value for H5Pset_alignment

2) bug fix
the printing of the dataset name was not done for references (verbose mode)

tested: windows, linux
2008-08-28 14:47:26 -05:00
Pedro Vicente Nunes
0c8cee593f [svn-r15526] userblock options
only write the user block of a pre-existing file with user block in case there is no input user block file

tested: windows, linux
2008-08-25 10:57:14 -05:00
Pedro Vicente Nunes
a72dc6c92c [svn-r15521] #1184
Add a userblock to an HDF5 file during the repack.  The user gives  
give a filename and userblock size as command line parameters to  
h5repack and the contents of that file are stored in the  
userblock for the HDF5 file created by h5repack.

New flags to handle this -u and -b
Tested : windows, linux
2008-08-22 10:53:07 -05:00
Scot Breitenfeld
aec106e324 [svn-r14903] Undoing change committed in r14902. 2008-04-30 14:51:13 -05:00
Scot Breitenfeld
5773fd34bc [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. New fortran wrappers added. 2008-04-30 14:23:26 -05:00
Pedro Vicente Nunes
04aad32e73 [svn-r14671] fix typo in comments and remove unused header mention
tested: linux
2008-02-25 13:35:29 -05:00
Pedro Vicente Nunes
6f820c0a24 [svn-r14368] clean code and reshufle functions between modules, remove unused functions
tested: windows, linux
2008-01-03 15:45:18 -05:00
Pedro Vicente Nunes
6036ac9b30 [svn-r14346] New feature: has_filters_obj function that checks if filters match for each individual dataset
Following the new feature of h5repack to allow multiple filters for all datasets and the new function has_filters that checks if the repacked file has all the filters requested, I added a new function

has_filters_obj

that does the same for each dataset. The previous function that checked this only ckecked if the user input filters were in the output dataset. This new function does this but checks if the filters are exactly the same. Currently the behavior of h5repack is to delete all filters that are present in the input file (dataset) and replace them with the requested ones, so they must match exactly.

We might consider adding other logical operations, like keep the existing ones.

Additionally , the function also checks if the filter parameters match.

While doing this I noticed that for the shuffle filter , the values returned do not match and also the same for the N-bit and scale-offset

The new function that checks for the filter values fails then, and so I commented the h5repack tests that do this for the N-bit and scale-offset filter (previously for the same bug on the shuffle filter I added special code on the compare filter function but this is temporary until I find the issue)

tested: windows, linux, solaris
2007-12-14 16:38:23 -05:00
Pedro Vicente Nunes
89f6ef0303 [svn-r14345] substituted the symbol CD_VALUES , number of filter client data values, for H5Z_COMMON_CD_VALUES
that is defined in the library

tested: windows, linux, solaris
2007-12-14 14:16:01 -05:00
Pedro Vicente Nunes
a5ba6ac397 [svn-r14320] Added a function that matches the filters on the dataset's DCPL and in the requested list
Used to verify if the filters requested are present in the output dataset

tested: windows, linux, solaris
2007-12-04 14:59:54 -05:00
Pedro Vicente Nunes
1b645ffd91 [svn-r14299] new feature: add support for h5repack to handle several global filters
usage is to repeat the -f option

tested: windows, linux, solaris
2007-11-28 15:30:43 -05:00
Peter Cao
2b89d6d73c [svn-r13975] Add --latest, -compact=<size>, ... options to use the lastest file format.
Add test for the options to the daily test.
2007-07-13 13:18:48 -05:00
Pedro Vicente Nunes
bd2c3b52a8 [svn-r13810]
Minor tunings to output verbose messages: 
1)when there is not a filter request do not print a message saying the filter was not apllied when the dataset was too small
2) avoid printing the message that has a list of objects to modify when there is none

Tested:linux
2007-05-24 14:09:36 -05:00
Pedro Vicente Nunes
1d312bff80 [svn-r13589]
h5repack code cleaning (required reconfigure)

tested: linux (32, 64, parallel), solaris
2007-04-04 15:25:42 -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
Pedro Vicente Nunes
8040a0f381 [svn-r12928] code revision 2006-11-16 15:38:05 -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
Pedro Vicente Nunes
5df5ee8956 [svn-r12720]
added output of error messages using the tools library function error_msg, that prints the program name and error on the message

tested: kagiso
2006-10-05 09:35:40 -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
Pedro Vicente Nunes
26e1b18a57 [svn-r12159] Purpose:
bug fix

Description:
h5repack was not dealing with family files

Solution:
use the toolslib function h5tools_open to open the file instead of H5Fopen in h5repack

Platforms tested:
linux
solaris
AIX

Misc. update:
2006-03-27 15:09:01 -05:00
Quincey Koziol
6cf7a8fe7d [svn-r11889] Purpose:
Bug fix

Description:
    Fix compile problem with C++ compiler after recent changes.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/CC=g++
2006-01-24 09:48:36 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
Code cleanup

Description:
    Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.

Solution:
    Ran this script in each directory:

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


Platforms tested:
    FreeBSD 4.11 (sleipnir)
    Too minor to require h5committest
2005-08-13 15:53:35 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Pedro Vicente Nunes
8f6f6fee06 [svn-r9121] Purpose:
new feature

Description:

added a check that the chunk size must be smaller than pixels per block in SZIP request
prints a message and exits, if not met



Solution:

Platforms tested:
linux
aix
solaris

Misc. update:
2004-08-19 14:09:13 -05:00
Pedro Vicente Nunes
8c0f8b1a95 [svn-r9106] Purpose:
bug fix

Description:

the option CHUNK:NONE (remove chunking )  was not setting the layout to contiguous

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-08-17 14:54:42 -05:00
Pedro Vicente Nunes
4cb6c01d7f [svn-r8904] Purpose:
h5diff and h5repack changes

Description:
h5diff
introduced the following four modes of output:
 Normal mode: print the number of differences found and where they occured
  Report mode: print the above plus the differences
   Verbose mode: print the above plus a list of objects and warnings
    Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found)

    h5repack
     added an extra parameter for SZIP filter (coding method)
     the new syntax is
     -f SZIP=<pixels per block,coding>
     (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
     Example of use:
     ./h5repack -i file1 -o file2 -f SZIP=8,NN -v

     updated usage messages, test scripts and files accordingly




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-07-20 14:21:03 -05:00