Commit Graph

1774 Commits

Author SHA1 Message Date
Quincey Koziol
d0d12ca2a5 [svn-r6909] Purpose:
Bug fix

Description:
    Correct typo which didn't show up during my previous testing in production
mode.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not necessary.
2003-05-21 15:38:04 -05:00
Quincey Koziol
a46932d679 [svn-r6908] Purpose:
Code cleanup

Description:
    Fix some unused parameter warnings.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not necessary.
2003-05-21 12:15:21 -05:00
Quincey Koziol
2e3cd3e57b [svn-r6907] Purpose:
Bug fix

Description:
    The chunk dataspace selection information for raw data I/O are being leaked.

Solution:
    Free the chunk information during the cleanup code.

Platforms tested:
    Solaris 2.6 (baldric) w/purify
    h5committest not needed.
2003-05-20 15:18:51 -05:00
Elena Pourmal
01f6493cd0 [svn-r6905]
Purpose: Maintenance for the second round of testing

Description: Used bin/h5vers to change version number to 1.5.55

Solution:

Platforms tested: arabica

Misc. update:
2003-05-20 08:44:58 -05:00
Quincey Koziol
2f8c23b903 [svn-r6900] Purpose:
Bug fix

Description:
    Fix three (!) bugs in szip filter:
        - we were using bytes per pixel instead of bits per pixel
        - we were using the size of the slowest changing dimension instead of
            the fastest changing dimension to compute the blocks per scanline
            parameter
        - we swapped two parameters when setting up szip_options block.

Solution:
    Addressed bugs above.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not needed
2003-05-19 14:21:35 -05:00
Quincey Koziol
16b13faaac [svn-r6898] Purpose:
Code cleanup

Description:
    Improve error reporting for pixels per scanline check.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not needed.
2003-05-19 14:18:17 -05:00
Quincey Koziol
ad3ace3d16 [svn-r6891] Purpose:
Bug fix

Description:
    Raw data I/O on chunked datasets would attempt to allocate data structures
proportional to the number of chunks in the dataset on disk, instead of just
the number of chunks that the I/O operation would interact with, causing
operations on datasets with large #'s of chunks to fail (or become very slow),
even though the actual I/O operation was very modest.

Solution:
    This is the "scalability fix" for chunked datasets that I've mentioned
we need to do, althought it's not the complete fix for the issue.  Read on
for the details...
    Only create data structures for the chunks that the I/O operation will
actually act on, reducing the amount of information allocated in memory,
normally.
    I say "normally", because this algorithm has the same problems as the
original algorithm (worse actually, since the data structure for each chunk
is larger now) if _all_ the chunks in a dataset with a lot of chunks are
actually involved in the I/O operation.  If that is the case, this code
will fail in a similar way.
    To truly fix the problem, we would need to only create data structures for
a particular number of chunks, perform the I/O on just those chunks, then
release the data structures for those chunks and create data structures for
the next set of chunks to access, etc.  However, I think this case is pretty
rare right now and we should worry about it after the 1.6.0 release.

Platforms tested:
    h5committested
2003-05-17 16:50:55 -05:00
Quincey Koziol
dddf167923 [svn-r6890] Purpose:
New feature

Description:
    Added "fast comparison" code for hsize_t's, since they are used in th
raw data chunking I/O code now.

Platforms tested:
    h5committested
2003-05-17 16:40:47 -05:00
Quincey Koziol
9aba174ba5 [svn-r6889] Purpose:
Code cleanup

Description:
    Clean up comment

Platforms tested:
    h5committested
2003-05-17 16:37:41 -05:00
Raymond Lu
3edbf40ed2 [svn-r6884] Purpose: bug fix
Description: H5Tget_native_type didn't handle special platform like Cray properly.

Solution: modify algorithm and test

Platforms tested: h5committest
2003-05-16 10:18:10 -05:00
Bill Wendling
f5500a0051 [svn-r6882] Purpose:
Bug Fix

Description:
    The H5HG module had a couple of lines like the following:

        HDmemcpy(foo + 1, foo, size);

    This would overwrite the first character of "foo" for the total of
    "size" bytes.

    The H5Pfapl.c is an update of the trace information.

Solution:
    Use HDmemmove instead. (Suggested by George Lewandowski at Boeing.
    Thanks! :-)


Platforms tested:
    Modi4 (Fortran & Parallel)
    Verbena (Fortran & C++)
    Arabica (Fortran)

Misc. update:
2003-05-15 18:28:15 -05:00
Quincey Koziol
b496ac1482 [svn-r6878] Purpose:
Code cleanup

Description:
    Limit the scope on more function prototypes/macros/typedefs.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not necessary.
2003-05-15 14:22:33 -05:00
Quincey Koziol
a0f76b8768 [svn-r6875] Purpose:
Code cleanup

Description:
    Improve information output from h5debug.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not needed.
2003-05-15 11:17:13 -05:00
Quincey Koziol
c09dbf5185 [svn-r6869] Purpose:
Bug fix.

Description:
    When the same dataset is opened more than once and those references to the
object are left dangling, the library would not correctly shut down the dataset
API, potentially allowing the file to be truncated.

Solution:
    "force" the dataset IDs to be released when the dataset API is being shut
down by the library.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-05-13 15:05:51 -05:00
Quincey Koziol
394656ceba [svn-r6868] Purpose:
Bug fix.

Description:
    If the buffer holding the list of interfaces that are attempting to be
closed down becomes full, the library stops recording that an infinite loop has
occurred when shutting down the interfaces.

Solution:
    Always return the correct "pending" information.

    Also added ellipsis to the string of interfaces to try to make it more
obvious that the buffer became full.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-05-13 15:03:45 -05:00
Quincey Koziol
dedf73d7d2 [svn-r6864] Purpose:
Bug fix

Description:
    Added missing line for file close degree setting for this VFD.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
    (Unfortunately, none of these tests actually exercised this driver... :-(
2003-05-13 14:49:49 -05:00
Quincey Koziol
460a897e0e [svn-r6861] Purpose:
Bug fix

Description:
    Iterating over the attributes of an object without any attributes was
returning FAIL instead of 0 as the RM states.

Solution:
    Changed return value of H5Aiterate for objects without attributes to be 0
and added regression tests for this.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not needed.
2003-05-13 13:54:25 -05:00
Quincey Koziol
51d29f215c [svn-r6860] Purpose:
Small code cleanup

Description:
    Remove redundant sanity check.

    Added a note about a potential bug.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest not necessary.
2003-05-13 13:31:57 -05:00
Raymond Lu
27c6327973 [svn-r6857] Purpose: bug fix
Description: when a datatype element size is bigger than I/O datatype
    conversion buffer(1MB), library reports failure.

Solution: adjust conversion buffer to be at least equal to one element size

Platforms tested: h5committest
2003-05-13 11:49:38 -05:00
Bill Wendling
699d1727e0 [svn-r6855] Purpose:
Bug Fix

Description:
    The newly added H5TEST_DLL{VAR} macros weren't defined if it wasn't
    a Windows environment.

Solution:
    "#define" them to "" and "extern" if not a WIN32 environment.

Platforms tested:
    Linux (small change not needing full testing)

Misc. update:
2003-05-13 10:50:31 -05:00
MuQun Yang
f666340233 [svn-r6851] Purpose:
To add macro HDF5TESTDLL for windows libtest library.

Description:
Many HDF5 tests will use h5test.c.
So we create a libtest library to
1) make tests more organized and
2) make tests more consistent with other platforms
3) reduce compiling times
4) reduce dumplicated warnings possibily generated by h5test.c
However, we didn't create the corresponding libtest DLL correctly,
now, some warnings are generated because of this; so for this release,
we follow exactly DLL-DLL rules, to create an internal libtest DLL for
our test suites.
The application who used HDF5DLL will not have extra burdens to add
HDF5TESTDLL and this will reflect in the release.txt


Solution:
USE DLL import and export library by defining macro HDF5TESTDLL and HDF5TESTUSEDLL

Platforms tested:
Windows 2000(the macro will not affect on non-WIN32 platforms).

Misc. update:
2003-05-13 09:26:44 -05:00
Quincey Koziol
7d9c86097a [svn-r6843] Purpose:
Code cleanup

Description:
    Clean up warnings exposed by compiling on O2K.  Also, revert some of Bill
and my changes to the H5S_mpi_opt_types_g, etc. and settle them back into their
original location.

Platforms tested:
    h5committested.
2003-05-09 13:18:21 -05:00
Bill Wendling
6af5ba7c56 [svn-r6841] Purpose:
Bug Fix

Description:
    A variable wasn't declared in this file.

Solution:
    Put the extern declaration of the variable in this file. It's defined
    in the H5S.c module.

Platforms tested:
    Modi4 (This affects only parallel platforms)

Misc. update:
2003-05-08 17:25:08 -05:00
Raymond Lu
224fae1bb2 [svn-r6839] Purpose: feature protection
Description: H5Sselect_hyperslab and H5Sselect_elements didn't check scalar
    dataspaces.

Solution: put error detection in those functions.

Platforms tested: eirene(simple change).
2003-05-08 16:12:32 -05:00
Quincey Koziol
390f1d0284 [svn-r6837] Purpose:
Code cleanup.

Description:
    Move many package or internal function prototypes and macro definitions
into tighter scope according to their current use.
    Added more comments where appropriate.
    Eliminate ancient, unused functions.
    Added a couple "accessor" functions to get parts of data structures which
were moved out of scope.

Platforms tested:
    h5committested
2003-05-08 15:09:07 -05:00
Quincey Koziol
3fff86acfa [svn-r6836] Purpose:
Bug fix

Description:
    Clean up small memory leak.

Platforms tested:
    h5committested.
2003-05-08 15:05:14 -05:00
Elena Pourmal
df446a46d5 [svn-r6835]
Purpose: Maintenance

Description: I changed release version to 1.5.54.
             Email about tetsing of 1.5.53 will be send after this checkins.

Solution: used bin/h5vers -s to change the version number

Platforms tested: Done on arabica

Misc. update:
2003-05-08 14:14:29 -05:00
Quincey Koziol
646e232a54 [svn-r6832] Purpose:
Code cleanup

Description:
    Improve file format debugging output.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Triple check not needed
2003-05-08 12:21:43 -05:00
Quincey Koziol
55dbd8d92a [svn-r6831] Purpose:
Bug fix

Description:
    New external file double-vectorized I/O routines were checking an assertion
on the wrong variable (essentially a typo :-).

Solution:
    Check correct variable.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Triple check not needed.
2003-05-08 08:06:15 -05:00
Quincey Koziol
ae1be622b9 [svn-r6830] Purpose:
Bug fix

Description:
    Dataspace selections created for individual chunks during chunk dataset
I/O were leaking memory.

Solution:
    Properly set reference count on selection, so they get free'd when the
dataspace is closed.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Triple check not needed.
2003-05-08 08:05:00 -05:00
Quincey Koziol
713754f81f [svn-r6829] Purpose:
Code cleanup.

Description:
    Cleaned up an unusued variable and some commented out code.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Triple check not needed.
2003-05-08 08:03:32 -05:00
Raymond Lu
546dea5dd9 [svn-r6828] Purpose: bug fix
Description: H5T_XXX_init_interface calls H5T_init_interface causing
     datatype not closed after file is closed.

Solution: changed H5T_init_interface to H5T_init

Platforms tested: h5committest
2003-05-07 17:30:56 -05:00
Quincey Koziol
43e3b45021 [svn-r6825] Purpose:
New feature/enhancement

Description:
    Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.

Solution:
    Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.

    There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.


Platforms tested:
    h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
2003-05-07 16:52:24 -05:00
Bill Wendling
db543f1a23 [svn-r6823] Purpose:
Code Improvements/Bug Fixes

Description:
    Comparison of equality of a double/float variable to 0.0 is not
    guaranteed to work and is bad practice.

    In H5Fcontig.c, a warning was given by a statement like:

        x = (++x) % y;

    This could be confusing to a compiler I suppose.

    In H5RS.c, a typedef of a structure was being tagged by the compiler
    as "useless" because it had the form:

        typedef struct foo {
            int var1;
            /* ... */
        }; /* <--- note no name for this typedef */

    The statement "typedef struct foo foo" is already in the header file.

Solution:
    Test that the absolute value of the variable is < a very small
    positive number.

    Changed "x = (++x) % y" to "++x; x %= y;" instead.

    Removed the "typedef" from the structure in the H5RS.c file.

Platforms tested:
    Modi4   (Parallel & Fortran)
    Verbena (C++ & Fortran)
    Arabica (Fortran)

Misc. update:
2003-05-07 15:52:36 -05:00
Bill Wendling
b6740c1689 [svn-r6810] Purpose:
Update

Description:
    Some of the TRACE macros were updated to reflect a new parameter.

Platforms tested:
    Linux
    Solaris w/ zlib
    Irix w/ zlib

Misc. update:
2003-05-06 16:05:00 -05:00
Bill Wendling
d30d2ba5b9 [svn-r6807] Purpose:
Change

Description:
    Instead of using the "USE_GPFS" macro, use the "H5_HAVE_GPFS" macro
    which is defined during configuration and then use the new parameter
    to the H5P{get,set}_fapl_mpiposix functions to control if GPFS is
    enabled or not.

Platforms tested:
    Modi4 (only affects the parallel stuff, so no need for full testing).

Misc. update:
2003-05-06 12:44:35 -05:00
Quincey Koziol
e19e9e2a28 [svn-r6803] Purpose:
Code cleanup.

Description:
    Cleaned up a few debugging printfs.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    Triple check not needed.
2003-05-06 09:20:31 -05:00
Bill Wendling
117444cc25 [svn-r6797] Purpose:
Feature

Description:
    Added new flag to the H5pubconf.h file --- NO_SHARED_WRITING
    (H5_NO_SHARED_WRITING). It's only defined for CodeWarrior and should
    never be defined for other platforms unless the "open()" bug that CW
    has shows up on other platforms.

Platforms tested:
    Verbena. Configure only, so no need for full tests.

Misc. update:
2003-05-05 16:13:49 -05:00
Bill Wendling
c12f91908b [svn-r6795] Purpose:
Feature Add

Description:
	Added knob so that the programmer can enable or disable GPFS
	hints during runtime instead of having it only enabled at
	configure/compile time. Some of the public APIs were changed
	to add an extra parameter for this option...

Platforms tested:
	Blue (LLNL). It only affects the MPI/POSIX driver, so no need
	to test it on non-GPFS platforms.

Misc. update:
2003-05-05 15:48:33 -05:00
HDF Admin
f69ae67faa [svn-r6793] Snapshot version 1.5 release 52 2003-05-03 06:54:14 -05:00
Quincey Koziol
60754030c7 [svn-r6784] Purpose:
Bug fix

Description:
    Corrected a couple of problems with Ray's v1.4 compat checkin yesterday.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/ & w/o --enable_hdf5v1_4 compat switch
    Triple check unnecessary.
2003-04-30 08:55:51 -05:00
Raymond Lu
11fe5b0657 [svn-r6780] Purpose: Backward compatibility change
Description: 1.4 compatibility for H5G_obj_t type and H5Zregister test.

Solution: use macro H5_WANT_H5_V1_4_COMPAT

Platforms tested: h5committest
2003-04-29 14:49:49 -05:00
Raymond Lu
b58192dfe7 [svn-r6779] Purpose: Backward compatibility change
Description: 1.4 compatibility for H5G_obj_t type and H5Zregister test.

Solution: use macro H5_WANT_H5_V1_4_COMPAT

Platforms tested: h5committest
2003-04-29 14:49:48 -05:00
MuQun Yang
f555485a00 [svn-r6777] Purpose:
A bug fix for windows.
Description:
Many tests failed on windows when stdio driver is on.
I suspect it is the compiler bug.
After some investigation, the symptom is:
The signature of HDF5 file cannot be found.
The real problem is the signature was appended at the end of the whole
file instead of inserting at the starting of the file.
It seems when the file pointer(signature) is reset to the starting of the file,
windows mis-placed it to the end of the file after finding the file is close to
the end.

Solution:
Fortuately, ftell and fseek still function well on windows,
so I use ftell and fseek to force the file pointer to go to the position it is supposed
to go.

Platforms tested:
since the only change in this file is within ifdef WIN32 macro; it won't
affect the mainstream platforms, so I don't have to three platforms.

Platforms to confirm(test with basic function): Linux 2.4
Platforms to throughly test: windows 2000 with VS6.0
test on three different

Misc. update:
2003-04-29 14:13:21 -05:00
Pedro Vicente Nunes
6c21457720 [svn-r6776] Purpose:
removed and change comments

Description:
removed the modification  comment about the while loop, it is not sufficiently important to be there
changed the "Id to name" comment in the test description, it was incorrecly about other thing

Solution:

Platforms tested:
none , just comments

Misc. update:
2003-04-29 12:30:16 -05:00
Elena Pourmal
2db5bd023a [svn-r6773]
Purpose: Windows maintenance and code cleanup

Description: There were a lot of places in the source code where varibale
             was declared but never used.

Solution: Cleaned the source code to avoid warnings on Windows and Unix
          platforms.

Platforms tested: arabica, modi4, Windows
                  Probably my environment is wrong on Linux, cannot
                  compile at all when fortran is enabled
                  If daily tests fails tomorrow, this will be my fault
                  but I want to go home now :-)

Misc. update:
2003-04-28 19:01:04 -05:00
Albert Cheng
51dd09ec04 [svn-r6769] Purpose:
Minor improvement

Description:
Moved the H5FD_mpio_Debug initialization to H5FD_mpio_init() so
that it is done only once instead of every file open.

Fixed blocked out patch that checks on INFO object so that
H5FD_mpio_Debug can be set via the INFO object.

(All these had been done to v1.4, now folded them int v1.5)

Platforms tested:
Did not h5committest since this is purely parallel code.
The changes were made in an isolated copy in Copper.
Tested in Copper parallel.

Misc. update:
2003-04-28 18:08:35 -05:00
Albert Cheng
83b2e3213a [svn-r6767]
Purpose:
Code cleanup

Description:
Removed debug statement bracketed by H5FDmpiposix_DEBUG or alike.
They were added in by mistakes.

Platforms tested:
Did not h5committested but tested in Copper since there changes are
limited in parallel codes.

Misc. update:
2003-04-28 16:06:40 -05:00
HDF Admin
6b7a945a65 [svn-r6761] Snapshot version 1.5 release 51 2003-04-26 05:03:11 -05:00
Albert Cheng
7f6ece1329 [svn-r6754] Purpose:
Feature

Description:
Added the feature to store and return a duplicate of Communicator in
the access of property list and file operations.  (no duplicate for
INFO object because MPIPOSIX driver does not process INFO object.


Platforms tested:
Did not h5committested because these are all MPI code and well protected
by HAVE_PARALLEL.
Tested in eirene and modi4, both parallel mode.

Misc. update:
2003-04-25 09:25:26 -05:00