Commit Graph

1191 Commits

Author SHA1 Message Date
Quincey Koziol
ebb5d3a90d [svn-r4489] Purpose:
Bug Fix
Description:
    When writing (or reading) the entire dataset to a chunked dataset, there
    was a boundary case where the code to generate the description of the
    piece of the dataset to read into the buffer for data conversion would
    attempt to read off the boundary of the dataset.  This was occuring because
    the code to detect the edge of the dataset was not propagating the change
    up through the remaining dimensions when an edge in a fast changing
    dimension was detected.
Solution:
    Propagate edge detection up through slower changing dimensions properly.
Platforms tested:
    Linux 2.2.18smp (eirene)
2001-09-28 14:00:43 -05:00
Quincey Koziol
efbadc2165 [svn-r4488] Purpose:
Fix on Kludge
Description:
    Forgot another chunk of parallel I/O code that needed to change for the
    generic property list kludge... :-/
Platforms tested:
    Parallel Linux 2.2.18smp (eirene)
2001-09-28 08:56:22 -05:00
Quincey Koziol
7a96b1a0d2 [svn-r4482] Purpose:
Kludge
Description:
    Since we're only about halfway through converting the internal use of
    property lists from the "old way" to the generic property lists, we turned
    off snapshots to avoid exposing lots of API changes to users, until the
    APIs settled down.

    Getting the snapshots rolling again seems to have become a priority, so
    some changes are going to have to be made now that were going to be
    postponed until we were completely finished with the conversion.  This
    requires that the old API functions be able to deal with both the old
    and new property lists smoothly.

Solution:
    Kludge together the property list code so that they can transparently handle
    dealing with both the old and new property lists

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-26 15:29:35 -05:00
Quincey Koziol
ed663577a5 [svn-r4473] Purpose:
Code cleanup for better compatibility with C++ compilers
Description:
    C++ compilers are choking on our C code, for various reasons:
        we used our UNUSED macro incorrectly when referring to pointer types
        we used various C++ keywords as variables, etc.
        we incremented enum's with the ++ operator.
Solution:
    Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
        template)

    Fixed usage of UNUSED macro from this:
        char UNUSED *c
    to this:
        char * UNUSED c

    Switched the enums from x++ to x=x+1
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-25 12:46:32 -05:00
Albert Cheng
ee0c2bb456 [svn-r4444] Purpose:
Feature
Description:
    The H5Pset_fapl_split() used to assume both meta and raw files
    have the same prefix name.  This prohibited the option to specify
    the two files reside on different file systems.  E.g., having
    meta-file as /user/home/data1.meta and raw-file as /pfs/data1.raw.
Solution:
    Added feature that if the raw or meta extension string contains
    a "%s", it will be substituted by the filename given for H5Fopen
    or H5Fcreate.  This is same as the multi-file syntax.  If no %s
    is found, one is inserted at the beginning.  This is the previous
    behavior.
Platforms tested:
    Modi4 (parallel, serial) and eirene (parallel).
2001-09-17 14:37:15 -05:00
Quincey Koziol
1e4406f578 [svn-r4437] Purpose:
Adding Feature
Description:
    Added new H5Pcopy_prop function to copy a property (value) from one property
    list or class to another.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-12 13:26:59 -05:00
Quincey Koziol
efda170169 [svn-r4423] Purpose:
Thread-safety Bug Fixes
Description:
    FreeBSD must use a different layout or mechanism for allocating objects on
    the stack when compiling for thread-safe operation.  Unused bits in 'long
    double' variable are never used ('long double's on FreeBSD are stored in
    12 bytes, but only use 10 bytes for computations), but set to different
    values, causing the endianness permutation testing to generate incorrect
    results and eventually fail an assertion.
Solution:
    Clear the temporary variables used for determining the endianness permutation
    with memset (affecting all 12 bytes) instead of just assigning a 0.0 to them
    (affecting only 10 bytes)
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-09-04 16:22:29 -05:00
Bill Wendling
1a779d0b8a [svn-r4407]
Purpose:
	Bug Fix
Description:
	Was getting warnings about converting pointers to integers
	without a cast.
Solution:
	Changed some of the RETURN ERRORs from returning NULL to
	returning FAIL instead.
Platforms tested:
	Linux
2001-08-22 14:51:05 -05:00
Quincey Koziol
9c33e2d1a2 [svn-r4406] Purpose:
Tweaks
Description:
    Improved the readability of the output and added some time information.
Platforms tested:
    Solaris 2.6 (baldric)
2001-08-22 13:56:49 -05:00
Albert Cheng
2f680fea22 [svn-r4397] Purpose:
Bug fix
Description:
    SAF test code exposed an error in the HDF5_MPI_OPT_TYPES
    code.  The SAF code was doing collective write to chunked
    storage dataset.  Some processes wanted to flush some chunk
    while some other processes were doing something else but the
    HDF5_MPI_OPT_TYPES code thought the chunk flushing were collective
    calls since it only looked at the condition when H5Dwrite
    was called.  So, it hanged when doing MPI_File_setview.
    For now, turned off the HDF5_MPI_OPT_TYPES code so that the
    SAF code would work.  More long term fix later.
Platforms tested:
    modi4(pp)
2001-08-20 13:42:05 -05:00
Albert Cheng
82e12143f9 [svn-r4396] Purpose:
bug fix
Description:
    H5FD_mpio_flush() would try to file seek negative if the
    file->eoa is 0 (e.g., doing mpio on the raw-file of the
    split file driver).  Put in a code to catch this case
    by returning succeed immediately.
Platforms tested:
    modi4(pp)
2001-08-20 13:36:58 -05:00
Quincey Koziol
c1131a02e5 [svn-r4393] Purpose:
Bug Fix
Description:
    Byte swapping routine was core dumping when attempting to convert 0
    elements.
Solution:
    Don't try to byte swap when there is nothing to do... :-)

    Apologies to Kent for my comments on Friday about testing his checkins,
    especially when it was I who needed to do moer testing. :-/

Platforms tested:
    Solaris 2.7 (arabica)
2001-08-20 12:19:30 -05:00
Quincey Koziol
94ce84440f [svn-r4390] Purpose:
Bug fix.
Description:
    Byte swapping algorithm wasn't converting the last 8 elements correctly.
Solution:
    Used correct variable... :-)
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-18 20:00:22 -05:00
Quincey Koziol
5b83004cfb [svn-r4377] Purpose:
Code improvement
Description:
    The byte swapping routine for data conversion was inefficient.
Solution:
    Applied a number of optimizations which should yield around a 2-3 times
    faster algorithm.
Platforms tested:
    Solaris 2.6 (baldric)
2001-08-17 17:16:11 -05:00
Quincey Koziol
e87fc517b8 [svn-r4355] Purpose:
Code cleanup (sorta)

Description:
    When the first versions of the HDF5 library were designed, I remembered
    vividly the difficulties of porting code from a 32-bit platform to a 16-bit
    platform and asked that people use intn & uintn instead of int & unsigned
    int, respectively.  However, in hindsight, this was overkill and
    unnecessary since we weren't going to be porting the HDF5 library to
    16-bit architectures.

    Currently, the extra uintn & intn typedefs are causing problems for users
    who'd like to include both the HDF5 and HDF4 header files in one source
    module (like Kent's h4toh5 library).

Solution:
    Changed the uintn & intn's to unsigned and int's respectively.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-14 17:09:56 -05:00
Quincey Koziol
0f885d1a46 [svn-r4351] Purpose:
Update dependencies, etc.
2001-08-14 15:05:30 -05:00
Quincey Koziol
9f9b52623e [svn-r4339] Purpose:
Code cleanup
Description:
    Took out a debugging printf
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-13 17:58:50 -05:00
Quincey Koziol
9cb6f1ae5d [svn-r4329] Purpose:
Bug Fix
Description:
    The datatype conversion buffer size was only halfway converted from hsize_t
    to size_t and was causing problems.  Also, the H5P_peek_<foo> routines have
    a bunch of identical code.
Solution:
    Finished converting the datatype conversion buffer size to size_t and
    cleaned up the implementation of the H5P_peek_<foo> routines to call a
    common routine instead of reimplementing a bunch of code.
Platforms tested:
    Solaris 2.7 (arabica)
2001-08-11 22:56:45 -05:00
Quincey Koziol
80c02cc6f1 [svn-r4327] Purpose:
More code cleanups
Description:
    Wrap up the code cleanups for changing the dataset transfer property lists
    over to using the generic property list code.
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 21:47:13 -05:00
Quincey Koziol
d24ae52673 [svn-r4326] Purpose:
Code cleanups, mostly..
Description:
    Work on pacifying the SGI compiler to get the generic properties working
    correctly with --enable-parallel and --enable-fortran.  It's not quite
    fixed yet, but I need to head home and these patches help... :-/
Platforms tested:
    IRIX64 6.5 (modi4)
2001-08-10 17:30:01 -05:00
Quincey Koziol
95862451f7 [svn-r4324] Purpose:
New Features!
Description:
    Start migrating the internal use of property lists in the library from the
    older implementation to the new generic property lists.

    Currently, only the dataset transfer property lists are migrated to the
    new architecture, all the rest of the property list types are still using
    the older architecture.

    Also, the backward compatibility features are not implemented yet, so
    applications which use dataset transfer properties may need to make the
    following changes:
        H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
            and
        H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)

    This still may have some bugs in it, especially with Fortran, but I should
    be wrapping up those later today.

Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-08-10 15:47:05 -05:00
Albert Cheng
4049965d13 [svn-r4323] Purpose:
H5Eprint shows library version information too.
Platforms tested:
    eirene.
2001-08-07 11:06:12 -05:00
Quincey Koziol
41529d180e [svn-r4312] Purpose:
Feature shift
Description:
    Take out the v1.2.x compatibility stubs and put in the hooks for v1.4.x
    compatibility when needed.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-08-06 11:01:44 -05:00
HDF Admin
2a39beb49b [svn-r4311] Snapshot version 1.5 release 10 2001-08-04 03:16:40 -05:00
Quincey Koziol
59705bc40b [svn-r4310] Purpose:
Bug Fix
Description:
    H5FD_fapl_copy is being called in H5Pset_driver when copying a dataset
    transfer property list instead of H5FD_dxpl_copy and could potentially
    cause problems if the file driver information was different.
Solution:
    Changed call to H5FD_dxpl_copy() until the generic property code gets
    merged in.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-08-02 16:21:17 -05:00
Bill Wendling
b5d11111b0 [svn-r4292]
Purpose:
    Bug Fix
Description:
    The way we were generating Dependencies and .depend files was broken.
    If the $srcdir or other macros began with a ".", then it would match
    anything and cause problems since it would then overwrite the
    beginning of the header file's path.
Solution:
    Wrote a Perl script which can handle this type of weirdness better.
    It's only used when the environment is a GNU one with a GCC
    compiler...
Platforms tested:
    Linux
2001-08-01 16:00:25 -05:00
Quincey Koziol
0d6d3eafe4 [svn-r4288] Purpose:
Bug Fix
Description:
    H5Pset_driver had a resource leak which was dropping dataset transfer IDs
    when switching drivers.
Solution:
    Decrement dataset transfer ID reference count properly
Platforms tested:
    IRIX64 6.5 (modi4)
2001-07-31 17:25:53 -05:00
Quincey Koziol
f972e20383 [svn-r4286] Purpose:
Bug Fix
Description:
    Header file is using incorrect macro for detecting parallel I/O when
    backward compability is turned on.
Solution:
    Fix header files to define prototypes for parallel I/O property list
    functions when compiled with v1.2 backward compatibility turned on.
Platforms tested:
    Eyeballed... (Elena will be testing shortly)
2001-07-31 12:26:37 -05:00
Quincey Koziol
007668c16a [svn-r4276] Purpose:
Bug Fix
Description:
    In certain circumstances, raw data was inadvertantly attempted to be read
    from the metadata cache.  This was caught with an assertion failure (i.e.
    core dump) in the development branch or an eventual sequence of errors in
    the release branch.
Solution:
    Corrected off-by-one error in metadata caching code.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-30 13:57:04 -05:00
Bill Wendling
06791fbe95 [svn-r4275]
Purpose:
    Bug Fix
Description:
    Forward port of the bug fix to the 1.4 branch reguarding the C++
    compile error.
Solution:
    Need to put

        #ifdef __cplusplus
        extern "C" {
        #endif

            /* ... */

        #ifdef __cplusplus
        }
        #endif

    around function declarations.
2001-07-30 12:03:57 -05:00
HDF Admin
273602af14 [svn-r4270] Snapshot version 1.5 release 9 2001-07-28 03:36:59 -05:00
Albert Cheng
953a75e4f1 [svn-r4253] Snapshot version 1.5 release 8 2001-07-22 05:10:46 -05:00
Quincey Koziol
2e8cb48786 [svn-r4241] Purpose:
Code Cleanup/Bug Fixes
Description:
    Raymond's last fix corrected the problem with eirene, but there were still
    a number of warnings, etc. during compiles.
Solution:
    Clean up the warnings, neaten up the code a little and change a few hsize_t's
    into size_t's that were missed in my previous sweep through the code.
Platforms tested:
    Linux 2.2 (eirene)
2001-07-20 10:01:18 -05:00
Raymond Lu
61a6e70c42 [svn-r4240]
Purpose:
    Bug fix.
Description:
    Daily test fails in parallel collective write testing on eirene.
Solution:
    In function H5S_mpio_spaces_xfer in H5Smpio.c, changed mpi_count
    from hsize_t to size_t.
Platforms tested:
    MPICH(Linux, SunOS, IRIX64), SGI MPI.
2001-07-19 15:31:37 -05:00
Quincey Koziol
5c8bcc1917 [svn-r4232] Purpose:
Bug fix.
Description:
    On some systems (linux when not using gcc) 'dev_t' is not actually
    a scalar variable.  This causes the code which compares dev_t's in
    the file drivers to not compile.  Also the H5_inline flag was not being
    set correctly in the H5private.h file.
Solution:
    Set the H5_inline flag to '' (i.e. define it, but don't assign it a value)
    if it is not currently defined.

    Use DEV_T_IS_SCALAR flag from configure to correctly compare dev_t's using
    memcmp instead of a scalar flag.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Linux 2.4.2 (chiba city cluster at Argonne)
2001-07-17 16:27:06 -05:00
Quincey Koziol
00f62b983a [svn-r4213] Purpose:
Bug fix... (sorta)
Description:
    Added --enable-linux-lfs configure flag to have better control over whether
    the enable large file support on Linux machines.  Also removed the
    -malign-double flag for gcc since it can potentially cause errors which
    are difficult to detect.
Platforms tested:
    Linix 2.2 & 2.4 (eirene and dangermouse)
2001-07-16 11:40:56 -05:00
Quincey Koziol
5172c6aa70 [svn-r4196] Purpose:
Bug Fix
Description:
    Using a 'long long' type (i.e. hsize_t) in a switch statement is apparently
    not allowed by the HP/UX 10.20 system compiler and causes the compile to
    fail.
Solution:
    Cast the variable to a size_t for the switch.
Platforms tested:
    HP/UX 10.20 (sangamon)
2001-07-12 11:29:30 -05:00
Quincey Koziol
ba75c45382 [svn-r4184] Purpose:
Roll a snapshot for the FLASH folks at Argonne to test with.
2001-07-11 07:57:45 -05:00
Quincey Koziol
990fadfbe5 [svn-r4181] Purpose:
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
    Fold in the hyperslab speedups, clean up compile warnings and change a
    few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
2001-07-10 16:19:18 -05:00
Quincey Koziol
d7bb1d0c07 [svn-r4179] Purpose:
Documentation
Description:
    H5Tget_member_type in v1.2.x returns the base type of array fields in
    compound datatypes, not an array type itself.
Solution:
    Changed to emulate this behavior in v1.4.x when the --enable-hdf5v1_2
    flag is given during configuration.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-10 15:17:53 -05:00
Pedro Vicente Nunes
51af338345 [svn-r4160] Purpose:
added a include for io.h that was missing

Description:
Solution:
Platforms tested:

NT
2001-07-09 14:11:02 -05:00
Pedro Vicente Nunes
2aa68eaac1 [svn-r4155]
Purpose:

updated windows headers in these 2 src files


Description:
Solution:
Platforms tested:

NT:
2001-07-09 11:04:44 -05:00
Quincey Koziol
2457f15317 [svn-r4102] Purpose:
Code cleanup
Description:
    File driver macros were defined in this file, instead of the file driver
    source file.
Solution:
    Removed redundant file driver information, which is already in each file
    driver source file.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-07-03 11:27:38 -05:00
Pedro Vicente Nunes
f9f0de7aa0 [svn-r4099]
Purpose:
    Code Cleanup
Description:
    Updating CodeWarrior Port
Solution:
    Move around some Windows and Metroworks ifdefs, etc.
Platforms tested:
    Solaris 2.7 (arabica) Linux 2.2 (eirene)
2001-07-03 09:49:03 -05:00
Thomas Radke
9f06972b48 [svn-r4090]
Purpose:
    Implemented port hunting
    Really catch SIGPIPE signals
Description:
    Port hunting allows to try and bind to a successive port number
    if the port number given in the filename is already used.

    Because of a stupid typo in the code, SIGPIPE wasn't catched
    which might have caused the sending side to hang.
Solution:
    The Stream VFD's file access property list was extended by two
    elements:
      - maxhunt: how many successive ports to try if the one
                 given in the filename is already in use
                 Default is not to hunt for additional ports.
      - port:    port number which is finally used to bind a socket
                 This might be different to the port number
                 as given in the filename if port hunting is enabled.
                 The H5Pget_fapl_stream() can be used to obtain
                 this port number.
Platforms tested:
    x86 Linux, Irix 32/64 bit, Dec Alpha, Unicos on T3E, AIX on SP2
    Hitachi SR8000
2001-07-02 07:57:46 -05:00
Quincey Koziol
8c2c4cd51c [svn-r4088] Purpose:
Code cleanup
Description:
    Recent CodeWarrior patches have broken the Unix builds and moved code
    around in non-portable ways.
Solution:
    Patched things back up to try to accomodate CodeWarrior and still let the
    Unix builds work correctly.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-29 14:49:53 -05:00
Pedro Vicente Nunes
098ed81ec8 [svn-r4083]
code warrior support
and some clean up
the macros file_seek and file_offset_t that were repeated over sevral files were put only in
H5private.h
H5private .h was updated for win32


vthe
Description:
Solution:
Platforms tested:
2001-06-29 10:27:15 -05:00
Quincey Koziol
bc4828f90a [svn-r4068] Purpose:
Code cleanup...
Description:
    Added support for Windows to mkdir macro.
2001-06-22 16:53:30 -05:00
MuQun Yang
61b948ad23 [svn-r4046]
Purpose:
     bug fix for windows MVS
Description:
    adding various windows macros to make it work on windows platform
Solution:
    see above
Platforms tested:
     test on windows 2000, confirmed on linux.
2001-06-21 15:04:36 -05:00
Quincey Koziol
4402923400 [svn-r4038] Purpose:
Code clean/bug fix
Description:
    H5FL (free-list manager) code currently is taking an hsize_t as the size
    of a memory block to allocate.  On many machines, the size of an hsize_t
    is greater than the size of a size_t, potentially leading to incorrect
    memory allocations in rare circumstances.
Solution:
    Changed hsize_t parameters and variables to size_t.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-21 11:53:39 -05:00