Commit Graph

4197 Commits

Author SHA1 Message Date
Quincey Koziol
5112232ddf [svn-r5871] Purpose:
Code cleanup

Description:
    Combined H5P_isa_class and H5I_object functionality into a new internal
    H5P API function: H5P_object_verify, which checks that a property list is
    the appropriate class and then returns the property list object associated
    with the property list ID.

    This reduces the source code by about 200 LOC and trims the library binary
    some more.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-08-12 08:33:42 -05:00
HDF Admin
694e9bb380 [svn-r5869] Snapshot version 1.5 release 33 2002-08-10 03:41:20 -05:00
Quincey Koziol
aae989869c [svn-r5868] Purpose:
Code cleanup

Description:
    Cleanup up a few compiler warnings...

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-08-09 16:55:44 -05:00
Quincey Koziol
8f7425d2a2 [svn-r5867] Purpose:
Code cleanup

Description:
    Changed the last HRETURN* statements in the FUNC_ENTER macros into HGOTO*
    macros, which reduces the size of the library binary in certain
    configurations by another 10%

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel, IRIX64 6.5 (modi4) serial &
    parallel
2002-08-09 15:48:23 -05:00
Quincey Koziol
d48558126d [svn-r5866] Purpose:
Code cleanup

Description:
    Cleaned up a few warnings from compiling with --disable-hsizet on Linux

Platforms tested:
    Linux 2.2.x (eirene)
2002-08-09 15:23:28 -05:00
Quincey Koziol
a7028fb006 [svn-r5865] Purpose:
Bug fix

Description:
    hsize_t comparisons for selection boundaries (in H5Sget_select_bounds)
    were failing on Linux with --disable-hsizet.

Solution:
    Changed comparisons to use use unsigned values instead of signed ones.

Platforms tested:
    Linux 2.2.x (eirene)
2002-08-09 10:39:28 -05:00
Robb Matzke
71d795f3ef [svn-r5864] ./hdf5-devel/src/H5private.h
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:53 -05:00
Robb Matzke
90db3412d4 [svn-r5863] ./hdf5-devel/src/H5T.c
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:41 -05:00
Robb Matzke
77bc29e89e [svn-r5862] ./hdf5-devel/src/H5O.c
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:38 -05:00
Robb Matzke
20f5e2cc1b [svn-r5861] ./hdf5-devel/src/H5FDmpiposix.c
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:36 -05:00
Robb Matzke
f72170ddf7 [svn-r5860] ./hdf5-devel/src/H5.c
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:34 -05:00
Robb Matzke
b3adb1eb3e [svn-r5859] ./hdf5-devel/release_docs/RELEASE.txt
Purpose:
    Merged from 1.4 branch
Description:
    API tracing improvements
Platforms tested:
    Linux (--disable-hsizet didn't work before my changes and still doesn't
    work, but --enable-hsizet is fine).



Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue.  Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
2002-08-09 09:55:31 -05:00
Bill Wendling
573675e071 [svn-r5844] Purpose:
Small Coding Change
Description:
    Zeroed out the MPI_Status structure in one of our tests to determine
    if MPI_Get_count() works on the machine or not. This is similar to
    what we do in the library code to the status...
2002-08-08 15:39:02 -05:00
Quincey Koziol
6680e94aeb [svn-r5843] Purpose:
Code cleanup

Description:
    Clean up a few warnings which were showing up with --enable-production
    turned on.

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel
2002-08-08 12:52:17 -05:00
Quincey Koziol
d8397a6f42 [svn-r5842] Purpose:
Code cleanup

Description:
    Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with
    HRETURN macros to HGOTO_DONE macros.  This unifies the error return path
    from functions and reduces the size of the library by up to 10% on some
    platforms.

    Additionally, I improved a lot of the error cleanup code in many routines.

Platforms tested:
    FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial &
    parallel.
2002-08-08 11:52:55 -05:00
HDF Admin
573307786a [svn-r5841] Snapshot version 1.5 release 32 2002-08-03 11:17:14 -05:00
Quincey Koziol
5588db111c [svn-r5840] Purpose:
Code cleanup

Description:
    Created a new H5I function which combined the some of the functionality of
    H5I_get_type and H5I_object: H5I_object_verify.

    Using this new function in the library trims another ~200 lines of code off
    the library and makes the resulting binaries smaller and faster also.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-31 14:17:12 -05:00
Quincey Koziol
17275779d0 [svn-r5839] Purpose:
Code cleanup

Description:
    Move operations on each type of selection into the source code file for
    each selection type (all->H5Sall.c, hyperslab->H5Shyper.c, etc.)

    Remove central H5S_select_<foo> operations, instead calling the operations
    through function pointers in each selection (a much more object-oriented
    approach).

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-31 10:27:07 -05:00
MuQun Yang
79b2b5a321 [svn-r5838]
Purpose:
update windows support.
Description:
1. Since we don't support w98 anymore, delete the description about w98.
Actually DLL may work on w98.
2. Release dll work for new HDF5 release.
Solution:
Platforms tested:
2002-07-25 11:03:37 -05:00
MuQun Yang
60e658c62a [svn-r5837]
Purpose:
move zlib out of hdf5/src from development branch
update H5pubconf.h

Description:
The decision has been made to move zlib out of hdf5 source distribution, make it real in development branch.
In dev. branch, H5_HAVE_COMPRESSION replaces H5_HAVE_COMPRESS2, H5_HAVE_ZLIB_H and H5_HAVE_LIBZ etc.
Make windows consistent.

Solution:
Platforms tested:
windows 2000
2002-07-25 10:59:24 -05:00
MuQun Yang
559b9bbec4 [svn-r5836]
Purpose:
move zlib out of hdf5/src from development branch
update H5pubconf.h
Description:
The decision has been made to move zlib out of hdf5 source distribution, make it real in development branch.
In dev. branch, H5_HAVE_COMPRESSION replaces H5_HAVE_COMPRESS2, H5_HAVE_ZLIB_H and H5_HAVE_LIBZ etc.
Make windows consistent.
Solution:
Platforms tested:
windows 2000
2002-07-24 16:30:55 -05:00
Quincey Koziol
618438995d [svn-r5835] Purpose:
Bug fix.

Description:
    Correct erroneous assertion.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-07-24 14:09:55 -05:00
Quincey Koziol
40df66ebd0 [svn-r5834] Purpose:
Large code cleanup/re-write

Description:
    This is phase 1 of the data I/O re-architecture, with the following changes:
        - Changed the selection drivers to not actually do any I/O, they
            only generate the sequences of offset/length pairs needed for
            the I/O (or memory access, in the case of iterating or filling
            a selection in a memory buffer)
        - Wrote more abstract I/O routines which get the sequence of offset/
            length pairs for each selection and access perform the I/O or
            memory access.

    Benefits of this change include:
        - Removed ~3400 lines of quite redundant code, with corresponding
            reduction in the size of library binary.
        - Any selection can now directly access memory when performing I/O,
            if no type conversions are required, instead of just "regular"
            hyperslab and 'all' selections, which speeds up I/O.
        - Sped up I/O for hyperslab selections which have contiguous lower
            dimensions by "flattening" them out into lesser dimensional objects
            for the I/O.

    No file format or API changes were necessary for this change.

    The next phase will be to create a "selection driver" for each type of
        selection, allowing each type of selection to directly call certain
        methods that only apply to that type of selection, instead of passing
        through dozens of functions which have switch statements to call the
        appropriate method for each selection type.  This will also reduce
        the amount of code in the library and speed things up a bit more.

    Phase 3 will involve generating an MPI datatype for all types of selections,
        instead of only "regular" hyperslab and 'all' selections.  This will
        allow collective parallel I/O for all I/O operations which don't
        require type conversions.  It will also open up the door for allowing
        collective I/O on datasets which require type conversion.

    Phase 4 will involve changing the access pattern to deal with chunked
        datasets in a more optimal way (in serial).

    Phase 5 will deal with accessing chunked datasets more optimally for
        collective parallel I/O operations.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/ parallel & C++ and IRIX64 6.5 (modi4) w/parallel
2002-07-24 13:56:48 -05:00
Quincey Koziol
c968525b29 [svn-r5833] Purpose:
Code cleanup

Description:
    Add a bit more debugging information to one failure mode.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-24 13:39:01 -05:00
Quincey Koziol
9b565b18e6 [svn-r5832] Purpose:
Code cleanup

Description:
    Re-alphabetized header includes.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & C++
2002-07-24 13:38:17 -05:00
MuQun Yang
4662b05236 [svn-r5829]
Purpose:
   correct a typo in the H5FD_sec2_flush.
Description:
    fd is not defined. It should be file->fd
Solution:
Platforms tested:
windows 2000, linux 2.2.18smp
2002-07-23 15:51:24 -05:00
Quincey Koziol
0fe805bc64 [svn-r5828] Purpose:
Code cleanup

Description:
    Make the sieve buffer managed by the free-list code.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-23 12:57:06 -05:00
Quincey Koziol
ccdd97ed97 [svn-r5826] Purpose:
Bug Fix

Description:
    Dynamically allocated H5S_t structure was not being freed under certain
    error conditions.

Solution:
    Free it.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-23 12:54:32 -05:00
Quincey Koziol
009da0a6eb [svn-r5819] Purpose:
Bug Fix

Description:
    non-parallel case for new metadata cache flushing property wasn't set up
    correctly.

Solution:
    Initialize variables correctly.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-21 17:21:06 -05:00
Quincey Koziol
af2b1cf00c [svn-r5815] Purpose:
Bug fix

Description:
    t_mpi test program was not being run with the RUNPARALLEL command

Solution:
    Put the t_mpi program into the TEST_PROGS_PARA macro instead of the
    TEST_PROGS macro

    Hopefully this'll fix the daily test problems on arabica, but I can't test
    it because I can't get mpirun to work correctly for me.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-07-19 15:09:16 -05:00
Quincey Koziol
99eee6dff9 [svn-r5814] Purpose:
Bug Fix

Description:
    It was possible to create corrupted metadata information (either in memory
    or in the file or both) with a parallel I/O program because of the way
    metadata writes were being handled for writes out of the metadata cache.

Solution:
    Added a dataset transfer property called "block before metadata write"
    which is used by the MPI-I/O and MPI-posix drivers to sync up all the
    processes before attempting a metadata write.  This property is currently
    only for metadata writes from the metadata cache.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-07-19 14:27:09 -05:00
Raymond Lu
814ea8b962 [svn-r5812]
Purpose:
    Bug fix.
Description:
    This should fix the nested VL datatype bug.
Platforms tested:
    modi4, eirene, impact
2002-07-17 16:11:47 -05:00
Bill Wendling
33f0045d9a [svn-r5810] Purpose:
Fix
Description:
    Better check for versions of Linux. We didn't support kernels with
    major version numbers >2 and minor version numbers <4...
Solution:
    Fixed to check just that.
Platforms tested:
    Linux 2.2 && 2.4
2002-07-17 13:03:38 -05:00
Quincey Koziol
4be014fc14 [svn-r5809] Purpose:
Bug fix

Description:
    Deleting objects from a global heap was incorrectly setting the free space
    in the heap chunk.

Solution:
    Encode correct amount of free space.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-07-17 12:27:37 -05:00
Bill Wendling
ceba60418c [svn-r5807] Purpose:
Update, Bug Fix, and Feature Add
Description:
    - Updated how AC_{ENABLE,WITH} help messages were being generated.
      Autoconf now gives you an AC_HELP_STRING macro to use to create
      them.

    - Fixed the problem with Linux LFS on RedHat 7.3 machines. It wasn't
      finding getdents64(), so we can't rely on that being present
      anymore...

    - Added GPFS detection and setting.

    - Updated how compression is specified. It's no longer necessary to
      test for HAVE_ZLIB_H, HAVE_LIBZ, and HAVE_COMPRESS2. The one macro
      {H5_}HAVE_COMPRESSION takes care of all of these.
Solution:
    Changed the check for Linux LFS from looking for getdents() to
    looking at the version number of the kernel (using the uname -r
    command). You can still override with the --enable-linux-lfs switch
    if you really believe that your <2.4 kernel has LFS support.
Platforms tested:
    Linux (2.2 and 2.4)
2002-07-17 11:10:46 -05:00
Raymond Lu
23670c0cf6 [svn-r5805]
Purpose:
    temporary solution to avoid failture.
Description:
    let VL sequence remain the same.
2002-07-15 17:42:00 -05:00
Quincey Koziol
22f1be9a31 [svn-r5804] Purpose:
Update with new MPI-posix driver files and testpar testing script.
2002-07-15 10:30:03 -05:00
Quincey Koziol
056147b54b [svn-r5802] Purpose:
Update docs

Description:
    Note --with-dmalloc addition to configure flags and new MPI-posix VFL
    driver.
2002-07-15 10:27:58 -05:00
Quincey Koziol
b1aa07bd2a [svn-r5800] Purpose:
New feature.

Description:
    Added MPI-posix VFL driver support.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:21:44 -05:00
Quincey Koziol
363ec52b7c [svn-r5799] Purpose:
New feature.

Description:
    Added MPI-posix VFL driver.  This driver uses MPI to coordinate actions, but
    performs I/O directly with posix sec(2) I/O functions.  This driver should
    _NOT_ be used if the file accessed is not on a parallel filesystem.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:21:32 -05:00
Quincey Koziol
c3b0c0f3c4 [svn-r5798] Purpose:
New feature.

Description:
    Added MPI-posix VFL driver support.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel & IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:21:05 -05:00
Quincey Koziol
004988d1f1 [svn-r5795] Purpose:
New feature

Description:
    Changed parallel I/O tests to use test script instead of just running
    testphdf5 executable.  This allows the MPI-posix driver to be tested easily.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w/parallel and IRIX64 6.5 (modi4) w/parallel
2002-07-15 10:17:05 -05:00
Quincey Koziol
c40dc777a7 [svn-r5793] Purpose:
Code cleanup

Description:
    Changed a few direct calls to posix functions to use proper wrapper macros.

    Also, changed method of extending file to use ftruncate().

Platforms tested:
    FreeBSD 4.6 (sleipnir) && IRIX64 6.5 (modi4)
2002-07-15 10:13:13 -05:00
Quincey Koziol
f10e0cc1eb [svn-r5791] Purpose:
Code update.

Description:
    Added dependency on test scripts to "make check" target

Platforms tested:
    FreeBSD 4.6 (sleipnir) & IRIX64 6.5 (modi4)
2002-07-15 10:11:27 -05:00
Quincey Koziol
2cf9aa63ab [svn-r5789] Purpose:
Code cleanup

Description:
    Make a "H5T_t *" parameter into a "const H5T_t *" parameter.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-15 10:09:46 -05:00
Quincey Koziol
5ac6bbaf0d [svn-r5787] Purpose:
Update code

Description:
    Re-enable free-lists, which were accidentally disabled from last checkin.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-12 15:27:00 -05:00
Quincey Koziol
b40a617940 [svn-r5785] Purpose:
Code update

Description:
    Re-arrange to disable free-list code in a more transparent way.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-12 13:49:39 -05:00
Quincey Koziol
5607e34da0 [svn-r5784] Purpose:
Bug fix.

Description:
    "strong" file closing feature was re-using free'd memory for objects which
    were still open in the file.

Solution:
    Used the "dmalloc" tools to determine where the memory was being
    re-used and re-arranged the code to avoid these cases.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-12 13:35:57 -05:00
Quincey Koziol
d482fed23b [svn-r5783] Purpose:
New code

Description:
    Add a few new error messages.

Platforms tested:
    FreeBSD 4.6 (sleipnir)
2002-07-12 13:31:50 -05:00
Quincey Koziol
58b9c34fc5 [svn-r5782] Purpose:
New feature

Description:
    Add support in for "dmalloc" debugging malloc library to configure script
    and library headers.

Platforms tested:
    IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
2002-07-12 13:29:41 -05:00