Commit Graph

18 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
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
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
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
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
7c8d702003 [svn-r4018] Purpose:
Code cleanup
Description:
    Removed some more warnings during compilation on SGI machines..
Platforms tested:
    Irix64-6.5 (modi4)
2001-06-19 12:35:45 -05:00
Quincey Koziol
076efa3382 [svn-r3885] Purpose:
Document bug fix
Description:
    IMPORTANT! IMPORTANT! IMPORTANT!
    A case where metadata in a file could get corrupted in certain unusual
    sitations was detected and fixed.

    In certain circumstances, metadata could get cached in the raw data cache,
    and if that particular piece of metadata was updated on disk while
    incorrectly cached, the new metadata would get overwritten with the stale
    metadata from the raw data cache when it was flushed out.

    Additionally, I've patched up the raw data cache to be smarter about how
    much it caches and how much I/O it triggers, leading to some speedups.

Solution:
    Changed the raw data I/O routines which perform caching to require a
    parameter with the size of the dataset being accessed and limited the
    cache to no more than that many bytes.

Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-05-02 10:04:55 -05:00
Bill Wendling
5e483d0184 [svn-r3781] Purpose:
Update
Description:
    Changed

        #include <hdf_file.h>

    construct to

        #include "hdf_file.h"

    so that the GNU compiler can more easily pick up the dependencies
    which it places in the .depend and Dependencies files. Also
    regenerated the Dependencies to go along with this.
Platforms tested:
    Linux
2001-04-05 12:29:14 -05:00
Quincey Koziol
542362385c [svn-r3653] Purpose:
Bug Fix
Description:
    Partial hyperslabs which exactly fit the size of the lowest dimension of
    a chunked dataset weren't being output correctly.
Solution:
    Forgot to divide the offset (seq_len) by the size of the lower dimension
    hyperslabs - fixed now.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-03-17 07:35:46 -05:00
Quincey Koziol
a4270d9aba [svn-r3528] Purpose:
Bug fix.
Description:
    Fencepost error in determining number of elements to include in a
    partial hyperslab for a chunk.
Solution:
    Changed "<down_size[i]"s into "<=down_size[i]"s in a few places, to allow
    for exactly one slab being left to output/input.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-02-28 15:54:57 -05:00
Quincey Koziol
4f098115dc [svn-r3479] Purpose:
Bug Fixes
Description:
    Fixed a bug in H5Shyper.c where 'contiguous' hyperslabs (i.e. ones which
    took up an entire dataset) were not being detected correctly and would
    instead be read a part at a time instead of all at once.

    Also fixed a bug in the handling of hyperslabs for chunked datasets where
    hyperslabs from chunks which weren't aligned on exact dimension bounaries
    were not reading/writing data correctly.
Solution:
    H5Shyper.c was a single line change from a 'block' size to a 'count' size.

    H5Fseq.c changes we much more significant and involved detecting when
    non-chunk aligned sequences of data were being written and constructing
    hyperslab blocks to pass down to the chunking I/O routine (which only
    understand hyperslab I/O requests, not element sequence requests).
    This was complicated by the need to align the hyperslabs requested on
    dimension boundaries...

Platforms tested:
    FreeBSD 4.2. (hawkwind)
2001-02-21 16:25:27 -05:00
Quincey Koziol
35bc545296 [svn-r3252] Purpose:
Code cleanup.
Description:
    Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
    extra warnings.  Including a few show-stoppers for compression on IRIX
    machines.
Solution:
    Changed lots of variables' types to more sensible and consistent types,
    more range-checking, more variable typecasts, etc.
Platforms tested:
    FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
2001-01-09 16:22:30 -05:00
Quincey Koziol
b39c60db45 [svn-r2945] Purpose:
Small code optimization
Description:
    Removed some unnecessary buffer assignments.
Platforms tested:
    Solaris 2.6 (baldric)
2000-11-16 12:28:08 -05:00
Quincey Koziol
057cbbf96c [svn-r2736] Purpose:
Code optimization
Description:
    Minor tweaks throughout the optimized regular hyperslab code to increase
    speed.  This set of improvements increase the benchmark time from taking
    ~5.46 seconds to ~4.50 seconds, or around a 20% further speedup.
Platforms tested:
    Solaris 2.6 (baldric)
2000-10-25 13:54:24 -05:00
Quincey Koziol
6aa0dd1620 [svn-r2722] Purpose:
Feature symmetry
Description:
    A while ago I needed to get the 'type' of data being accessed during writes
    to the VFL driver, so I put in code to get the information down there.
    Albert asked for the same information during reads, so I've added that in.
Tested:
    FreeBSD 4.1.1 (hawkwind)
2000-10-24 13:18:09 -05:00
Quincey Koziol
64b8f7fd73 [svn-r2657]
Purpose:
    Parallel Bug Fixes
Description:
    Was out of sync with header file re-arrangements I checked in last night.

Solution:
    Fixed to use new header files, etc.
Platforms tested:
	O2K (modi4)
2000-10-10 15:55:54 -05:00
Quincey Koziol
ba28c64ba7 [svn-r2652] Purpose:
Maintainance & performance enhancements
Description:
    Re-arranged header files to protect private symbols better.

    Changed optimized regular hyperslab I/O to compute the offsets more
    efficiently from previous method of using matrix operations.

    Added sequential I/O operations at a more abstract level (at the same level
    as H5F_arr_read/write), to support the optimized hyperslab I/O.

Platforms tested:
    Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
2000-10-10 02:43:38 -05:00