Commit Graph

6681 Commits

Author SHA1 Message Date
Pedro Vicente Nunes
86b0cc22c8 [svn-r6598] Purpose:
code warrior port

Description:
added some type casts (char*) for CW portability

Solution:

Platforms tested:
w2000(CW , MS)
linux
arabica
modi4

Misc. update:
2003-04-08 15:26:42 -05:00
Quincey Koziol
495a611f76 [svn-r6581] Purpose:
Code cleanup & bug fix

Description:
    Cleaned up comments & copyright statement.

    Blocks which were unable to be compressed were missing the "length" prefix,
causing the decompression routine to fail.

Solution:
    Always add "length" prefix to all blocks, even ones the fail to compress.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    IRIX64 6.5 (modi4) w/parallel

Misc. update:
2003-04-03 08:56:27 -05:00
Quincey Koziol
58f59c8e56 [svn-r6580] Purpose:
Code cleanup

Description:
    Removed 'szlib.h' header, moving it to the H5Zszip.c filter code.

Solution:

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    IRIX64 6.5 (modi4) w/parallel

Misc. update:
2003-04-03 08:54:37 -05:00
Quincey Koziol
b6fda8e13e [svn-r6579] Purpose:
Code cleanup

Description:
    Added flags for szip-specific settings

Solution:

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    IRIX64 6.5 (modi4) w/parallel

Misc. update:
2003-04-03 08:53:37 -05:00
Quincey Koziol
3c77efae1c [svn-r6578] Purpose:
Code cleanup

Description:
    Added lots of comments to existing filters, so they are easier to understand
and use as examples for future filters.  Cleaned up various bits of code, etc.

Solution:

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    IRIX64 6.5 (modi4) w/parallel

Misc. update:
2003-04-03 08:52:30 -05:00
Quincey Koziol
db8ff96dc0 [svn-r6577] Purpose:
Code cleanup (sorta)

Description:
    The H5Pset_szip API call was forcing users to pass in their parameters
in the same way as the internal representation of the filter parameters used
by the library (as an array of unsigned values).

Solution:
    Changed to pass in separate parameters in a more user-friendly format.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    IRIX64 6.5 (modi4) w/parallel

Misc. update:
2003-04-03 08:48:58 -05:00
Quincey Koziol
a3a391d457 [svn-r6576] Purpose:
Cleanup

Description:
    Update dependencies.

Solution:

Platforms tested:
    Linux 2.4 (eirene)

Misc. update:
2003-04-03 08:46:11 -05:00
Bill Wendling
c91a149097 [svn-r6559] Purpose:
Update

Description:
    Missed this file when updating copyright statements.

Platforms tested:
    None (comment change)

Misc. update:
2003-04-01 17:37:36 -05:00
Bill Wendling
5830c5cf99 [svn-r6558] Purpose:
Bug Fix...

Description:
    The previous bug was in the _free function as well

Solution:
    Used the correct structure

Platforms tested:
    Modi4

Misc. update:
2003-04-01 17:06:41 -05:00
Bill Wendling
26cc88d402 [svn-r6557] Purpose:
Bug Fix

Description:
    Was using the wrong pointer into a structure...

Solution:
    Used the correct pointer to get the file_id...

Platforms tested:
    Modi4

Misc. update:
2003-04-01 17:02:55 -05:00
Bill Wendling
243775d9cd [svn-r6556] Purpose:
Update & Bug Fix

Description:
    The "free" protocol was missing. Added that to the server side.

    When doing a "create" of a file (with no other data structures
    created), the freespace in the file wasn't being reclaimed.

Solution:
    After adding the free protocol, we put the burden of running through
    the FD_free function on the SAP instead of each client.

Platforms tested:
    Linux

Misc. update:
2003-04-01 16:38:04 -05:00
MuQun Yang
992eb85944 [svn-r6552] Purpose:
To support szip compression in HDF5

Description:
This is where szip filter function is located.

Solution:
The filter function composes of "encode" and "decode" part, which
is similar as deflate filter.
One critical difference is:
when szip decompresses the data, it needs to know the buffer size to hold
the decompressed data in advance.
Currently it's hard for HDF5 lib to give the buffer size easily. So to avoid
this problem, in each chunk, we add a small header to hold the buffer size of
each chunk. The code will use UINT32 ENCODE and UINT32 DECODE to finish this
part of work.
Platforms tested:
Since there are changes of configure.in and configure,I didn't use h5committest.
I tested with four platforms.
1) Linux 2.4 (eirene)
2) Solaris 2.7(arabica)
3) windows 2000(VS 6.0)
4) SGI IRIX6.5-64(modi4)
For test 1)-3), only basic C tests were done
For modi4 test, I tested 64-bit C,parallel and fortran.
All tests passed, except a warning message from szip library when checksum is used in some order, which doesn't
e any real problems.
Misc. update:
2003-04-01 10:49:03 -05:00
MuQun Yang
f94431ce1f [svn-r6551] Purpose:
To support szip compression in HDF5

Description:
szip compression support is required by NASA ESDIS. The compression algorithm
is good for scientific data. In HDF5, we add another filter
function to make szip as a default compression package as we did for gzip(or zlib).

In this check-in, a new function called H5Pset_szip was added into H5Pdcpl.c, this
function is very similar to H5Pset_deflate. The only difference is SZIP needs
four parameters from the user to get the compression done while gzip needs only one.
So we pass a pointer to this function instead of an integer number.

The description of the four parameters of szip should be in different
documents.

H5Z.c and other header files were simply modified to have HDF5 know szip.

Solution:
See the decription

Platforms tested:
Since there are changes of configure.in and configure,I didn't use h5committest.
I tested with four platforms.
1) Linux 2.4 (eirene)
2) Solaris 2.7(arabica)
3) windows 2000(VS 6.0)
4) SGI IRIX6.5-64(modi4)
For test 1)-3), only basic C tests were done
For modi4 test, I tested 64-bit C,parallel and fortran.
All tests passed, except a warning message from szip library when checksum is used in some order, which doesn't cause any real problems.

Misc. update:
2003-04-01 10:39:48 -05:00
MuQun Yang
646ac38507 [svn-r6550] Purpose:
To support szip compression in HDF5

Description:
szip compression support is required by NASA ESDIS. The compression algorithm
is a good compression algorithm for scientific data. In HDF5, we add another filter
function to make szip as a default compression package as we did for gzip(or zlib).

H5config.in needs to be regenerated by autoheader for SZIP flags.
Solution:
A new file called H5Zszip.c will be added in the Makefile.in
Flags like: HAVE_FILTER_SZIP    should be auto-generated by autoheader.

Platforms tested:
Since there are changes of configure.in and configure,I didn't use h5committest.                                    I tested with four platforms.
1) Linux 2.4 (eirene)
2) Solaris 2.7(arabica)
3) windows 2000(VS 6.0)
4) SGI IRIX6.5-64(modi4)
For test 1)-3), only basic C tests were done
For modi4 test, I tested 64-bit C,parallel and fortran.                                                         All tests passed, except a warning message from szip library when checksum is used in some order, which doesn't
cause any real problems.

Misc. update:
2003-04-01 10:27:45 -05:00
Bill Wendling
b5d7fa02a9 [svn-r6546] Purpose:
Update

Description:
    Updated copyright statement in files which hadn't been updated yet.

Platforms tested:
    Linux (Only comment change)

Misc. update:
2003-03-31 13:30:57 -05:00
Bill Wendling
fc295015d8 [svn-r6527] Purpose:
Bug Fix & Update

Description:
    FPHDF5 was creating files which didn't have the EOA field in the
    superblock set correctly. It turns out that the SAP was keeping this
    information to itself instead of giving it to the client processes.

    Naughty SAP!

Solution:
    Have the SAP send this information back to the clients so that they
    can update the superblock as necessary. This now creates a file (with
    just the root group) that looks correct! Only problem is that there's
    extra file space being allocated. Also, at program termination,
    there's an infinite loop...

Platforms tested:
    H5committests (run by hand on burrwhite, arabica, and modi4)

Misc. update:
2003-03-27 16:34:21 -05:00
Quincey Koziol
06ee92414d [svn-r6519] Purpose:
Bug fix/code cleanup/new feature

Description:
    Fix h5debug to work correctly again, with all the changes over the past
    few months.

    Improved and cleaned up debugging output available in h5debug.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-03-22 09:53:27 -05:00
Bill Wendling
a90774e8cc [svn-r6514] Purpose:
Bug fix and Update

Description:
    From Quincey's comments on the code I checked in last night:

        - In H5F_close call, the "private" processes should call the
          H5F_flush with the "CLEAR_ONLY" flag.
        - There's no need for a special case for FPHDF5 in the
          FD_real_alloc function since FPHDF5 doesn't define an alloc
          function.
        - The return type of H5Pset_fapl_fphdf5 should be herr_t instead
          of hid_t. I don't know how it got that way in the first place.
        - The variable names for MPI types and the structure typedefs
          should be switched: H5FP_request/H5FP_request_t to
          H5FP_request_t/H5FP_request and so on.
        - In the H5FP.c module, I was commiting the H5FP_request MPI
          datatype but using the wrong offset field...

Platforms tested:
    Linux...will test on others, but these are mostly FPHDF5 changes.

Misc. update:
2003-03-20 12:39:06 -05:00
Bill Wendling
b9d9111ecc [svn-r6507] Purpose:
bug Fix

Description:
    MPI stuff was getting into the non-parallel headers.

Solution:
    #ifdefed the headers out if H5_HAVE_FPHDF5 isn't defined...

Platforms tested:
    Sol, Modi4

Misc. update:
2003-03-19 18:52:46 -05:00
Bill Wendling
276ba30370 [svn-r6506] Purpose:
Update

Description:
    When doing an allocation, check to see, if it's an FPHDF5
    driver, if only the captain should be performing the allocation

Platforms tested:
    Linux, Modi4, Sol

Misc. update:
2003-03-19 18:43:03 -05:00
Bill Wendling
9697077305 [svn-r6505] Purpose:
Update

Description:
    Have the FPHDF5 module initialized on startup. Have only the captain
    process perform certain functions (like flushing during an F_close
    call or allocating the superblock).

    H5Fistore needed a few checks to see if it was working with an FPHDF5
    driver. Done similarly to how MPI and MPIPOSIX drivers are checked..

Platforms tested:
    Linux, Modi4, Sol

Misc. update:
2003-03-19 18:41:28 -05:00
Bill Wendling
43eb81fb3c [svn-r6504] Purpose:
Why not?

Description:
    Lots of changes. This is basically a "commit because there are a lot
    of changes" commit.

    The server now acts more like a metadata caching server. The dumping
    mechanism finally works (I think). At least in the test I did it
    seemed to write things back. There's a new MPI TAG to use
    (H5FP_TAG_DUMP) when dumping things. Changed a lot of the functions
    from passing a structure around to just passing a pointer to that
    structure. I have no clue why I did it the previous way...

    Um...And more synchronization stuff between the client and server.
    The protocol between the two was being broke in a couple of places.

    We're getting closer!

Platforms tested:
    Linux (probably Modi4 too)

Misc. update:
2003-03-19 18:39:14 -05:00
Bill Wendling
0e83643f8f [svn-r6503] Purpose:
Bug Fix

Description:
    The MPI datatypes we were committing weren't using the correct
    structure.

    Also, we needed to know the rank of the captain process inside of the
    BARRIER COMM.

Solution:
    Changed to use the correct structure.

    Got the Captain process's rank and Bcast it to the "privates".

Platforms tested:
    Linux

Misc. update:
2003-03-19 18:34:39 -05:00
Bill Wendling
9f2c7fd369 [svn-r6502] Purpose:
Update

Description:
    More changes to the FPHDF5 file driver. Too many to mention here.
    Some highlights:

        - Addition of lock/unlock methods to the driver, though they
          aren't implemented fully just yet.
        - Extra query functions to determine various things about the
          file. (If this is the captain process, etc)
        - Fixes to make things work...

Platforms tested:
    Linux

Misc. update:
2003-03-19 18:32:39 -05:00
Bill Wendling
02be089f0c [svn-r6501] Purpose:
New Feature

Description:
    Added support for the lock and unlock function calls for file
    drivers. Only FPHDF5 uses this feature. All of these drivers don't
    define lock or unlock methods.

Platforms tested:
    Linux, Modi4, Sol

Misc. update:
2003-03-19 18:29:23 -05:00
Bill Wendling
43c2e1bab7 [svn-r6500] Purpose:
New Feature

Description:
    Added function pointers for the lock and unlock functions.

Platforms tested:
    Linux, Modi4, Sol

Misc. update:
2003-03-19 18:27:44 -05:00
Bill Wendling
80cb3b0632 [svn-r6499] Purpose:
Update

Description:
    Added support for FPHDF5 wherever there was support for MPI/IO and/or
    MPIPOSIX.

Platforms tested:
    Linux, Modi4, Sol

Misc. update:
2003-03-19 18:26:17 -05:00
Bill Wendling
f6053e9819 [svn-r6498] Purpose:
Cleanup

Description:
    The H5O_FPHDF5 object was left in this header file by mistake when
    the H5Ofphdf5 module was removed

Solution:
    Removed it.

Platforms tested:
    Linux
2003-03-19 18:22:21 -05:00
Quincey Koziol
a52914987e [svn-r6497] Purpose:
Finish code cleanup

Description:
    Wrap up the conversion of H5F_flush's multiple boolean flags into a single
bitfield of flags by pushing the flags down into the H5AC_flush and
H5F_istore_flush routines.
    Also, changed the flags from H5_FLUSH_<foo> to H5F_FLUSH_<foo> to be more
consistent with rest of library.
    And reverted the changes to H5FDflush and H5FD_flush routines.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
    Solaris 5.8 (sol)
    IRIX64 6.5 (modi4) w/parallel

Misc. update:
2003-03-19 13:58:54 -05:00
Bill Wendling
d317b8b404 [svn-r6496] Purpose:
Refactoring of Flush Logic

Description:
    The Flushing logic passed in multiple flags to indicate what type of
    flush it was: closing, invalidate, alloc only. This made extending
    the function of the flush logic to handle other flags annoying.

Solution:
    I changed it to be just one bitmasked flag to indicate what type of
    flushing to do. I also added the CLEAR_ONLY flag, which will be used
    in the FPHDF5 stuff.

Platforms tested:
    h5committest doesn't work for me (my environment isn't setup on the
    other machines I guess). I tested it manually:

        Linux parallel & C++
        Sol Fortran
        Modi4 parallel & Fortran.
2003-03-19 12:02:23 -05:00
HDF Admin
3ca8540026 [svn-r6483] Snapshot version 1.5 release 49 2003-03-15 07:11:17 -05:00
Quincey Koziol
8831302db5 [svn-r6468] Purpose:
Potential bug fix.

Description:
    The code to rotate the metadata writing process may not be compiled
    correctly in all cases.

Solution:
    Change from using "++mpi_round" to "mpi_round+1"

Platforms tested:
    Eyeballed...
2003-03-06 07:39:12 -05:00
Quincey Koziol
1083071530 [svn-r6452] Purpose:
Code cleanup

Description:
    Add B-tree node debugging routine for symbol table nodes (i.e. groups)

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-03-03 15:06:29 -05:00
HDF Admin
da3fd8f6d6 [svn-r6446] Snapshot version 1.5 release 48 2003-03-01 07:19:28 -05:00
Quincey Koziol
474a1434bd [svn-r6436] Purpose:
New internal feature

Description:
    Add internal API for building and working with heaps (H5HP).  This will be
    used for the LRU algorithm in the new metadata cache code.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir)
2003-02-24 15:25:13 -05:00
Quincey Koziol
eaa30bb648 [svn-r6433] Purpose:
Code/comment cleanup

Description:
    Made more information about reference-counted strings private to the
    H5RS package by trimming the typedef used in H5RSprivate.h and switching
    from using macros for a couple of operations to using functions.

    Updated copyright information for a few of these files.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
2003-02-24 15:19:01 -05:00
Quincey Koziol
9005dfcdc2 [svn-r6431] Purpose:
Comment cleanup

Description:
    Corrected comment information.
2003-02-24 15:15:56 -05:00
Quincey Koziol
8fc3673745 [svn-r6430] Purpose:
Code cleanup (sorta)

Description:
    Updated to new copyright information as I browsed these files.
2003-02-24 15:13:07 -05:00
Bill Wendling
7612f48943 [svn-r6428] Purpose:
Bug Fix
Description:
    Private header file was included in a public header file by mistake.
Solution:
    Put the private header file into the .c module instead.
Platforms tested:
    Linux 2.4 (see, I really did test it).
2003-02-22 16:55:27 -05:00
Bill Wendling
d45880ce1d [svn-r6427] Purpose:
Update
Description:
    Changed the H5FPinit() function to accept pointers to what the SAP
    Comm and SAP Barrier Comm should be assigned to. This is the first
    step in hopefully getting rid of the global versions of them
    altogether (but we'll see).
Platforms tested:
    Linux
2003-02-21 14:37:25 -05:00
Bill Wendling
d84e6e525e [svn-r6426] Purpose:
Update
Description:
    Final support addition for FPHDF5. Wherever there was an equivalent
    MPIO or MPIO/POSIX call/check, I placed an FPHDF5 call/check there as
    well, with the appropriate #ifdefs in place.

    The hdf5.h is updated with the H5FDfphdf5.h driver #include.
Platforms tested:
    Linux & Modi4
2003-02-21 09:04:35 -05:00
Bill Wendling
9c7b019bc5 [svn-r6425] Purpose:
Update
Description:
    Big change to the H5FD.c module:

        - Split apart H5FD_alloc and H5FD_free. H5FD_alloc was huge and
          H5FD_free had a freeing of the freelist part which I needed to
          call from the SAP.
        - Added support for FPHDF5. If it's a client, then it sends the
          allocation or free request to the SAP. The SAP will call the
          same code, but it'll actually do the allocation/freeing in that
          case.
Platforms tested:
    Linux & Modi4
2003-02-21 09:02:40 -05:00
Bill Wendling
23af46a164 [svn-r6424] Purpose:
Update
Description:
    Added support for allocating and freeing space in the file.
Platforms tested:
    Linux & Modi4
2003-02-21 08:58:10 -05:00
Bill Wendling
0dc2b9ea16 [svn-r6423] Purpose:
Update
Description:
    Added support for the allocation and freeing of space in the file.
    This information is kept on the Server.
Platforms tested:
    Linux & Modi4
2003-02-21 08:56:39 -05:00
Quincey Koziol
5655953a2a [svn-r6415] Purpose:
Code cleanup

Description:
    Changed hard-coded magic number (32) for the maximum number of filters
    in a filter pipeline to use a symbolic constant (H5Z_MAX_NFILTERS)
    instead.  This limit could (and probably should) be removed to allow an
    unlimited number of filters in a pipeline.

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-02-18 07:16:27 -05:00
Quincey Koziol
0475dd9a70 [svn-r6412] Purpose:
Code cleanup

Description:
    Update dependencies and clean up a few warnings.

Platforms tested:
    Linux 2.2 (eirene) w/parallel
2003-02-17 12:11:03 -05:00
Quincey Koziol
946c606452 [svn-r6411] Purpose:
Code cleanup

Description:
    Clean up miscellaneous warnings which have crept into the code.

    Fix "_POSIX_C_SOURCE not defined" warning on FreeBSD.

    Adjust gcc compiler flags to be more concise for production mode.

    Refactor the H5O code so that there is a stronger boundary between code
    in the H5O package and code in the library which just calls H5O routines.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
	modi4 (parallel, fortran)}
    FreeBSD 4.7 (sleipnir) serial & parallel and gcc 2.95.4 & gcc 3.2.2

Misc. update:
    Update MANIFEST if you add or remove any file.
2003-02-17 10:54:15 -05:00
Quincey Koziol
fb4be743d3 [svn-r6410] Purpose:
Bug fix.

Description:
    Correct compile errors when configured with --enable-debug=all.

Platforms tested:
    FreeBSD 4.7 (sleipnir) serial & parallel
2003-02-17 09:58:38 -05:00
HDF Admin
65edf41cc7 [svn-r6407] Snapshot version 1.5 release 47 2003-02-15 06:24:35 -05:00
Bill Wendling
ce6a77eb3e [svn-r6406] Purpose:
Update
Description:
    Since metadata doesn't use a "set view" to do I/O, I moved the check
    for the use_set_view variable down into the "real" write routine.

    Also added a check for when the server is dumping metadata to the
    file. in that case, don't write this information to the SAP...
Platforms tested:
    Linux
2003-02-14 17:06:18 -05:00