2
0
mirror of https://github.com/HDFGroup/hdf5.git synced 2025-03-25 17:00:45 +08:00

1326 Commits

Author SHA1 Message Date
Pedro Vicente Nunes
41fda81044 [svn-r5153]
Purpose:

Modified all.zip file to include a windows project for set_extend
2002-04-09 11:06:15 -05:00
Quincey Koziol
1ffe083f61 [svn-r5152] Purpose:
New Feature

Description:
    Added new H5Dfill() routine to fill the elements in a selection for a
    memory buffer with a fill value.  This is a user API wrapper around some
    internal routines which were needed for the fill-value modifications
    from Raymond as well as Pedro's code for reducing the size of a chunked
    dataset.

Platforms tested:
    FreeBSD 4.5 (sleipnir) [and IRIX64 6.5 (modi4) in parallel, in a few
    minutes]
2002-04-09 07:47:34 -05:00
HDF Admin
8a086b1643 [svn-r5148] Snapshot version 1.5 release 24 2002-04-06 11:36:23 -05:00
Raymond Lu
242d36d263 [svn-r5147]
Purpose:
    New feature
Description:
    Added a query function H5Tget_member_index for compound and enumeration
    data types, to retrieve member's index by its name.
Platforms tested:
    Linux 2.2
2002-04-05 17:31:20 -05:00
Robb Matzke
2bd888792c [svn-r5142] ./hdf5-devel/src/H5Fistore.c
Minor h5ls bugfix for compound types with array members.
(Similar changes shortly for 1.4 branch).


2002-04-02 10:22:55 Robb Matzke  <matzke@arborea.spizella.com>
	* H5F_istore_read: Realigned a couple of comments.
2002-04-05 14:42:52 -05:00
Quincey Koziol
997e30d86a [svn-r5139] Purpose:
Code cleanup
Description:
    Clean up a few warnings on the SGI.
Platforms tested:
    IRIX64 6.5 (modi4)
2002-04-03 12:37:02 -05:00
Quincey Koziol
7ae00db7a4 [svn-r5138] Purpose:
Bug Fix & Code Cleanup

Description:
    The MPI-IO optimized transfer routines
    (H5S_mpio_spaces_read/H5S_mpio_space_write) are not being invoked in all
    the cases where they could be used.

    Additionally, the code for determining if an optimized transfer is wrapped
    into the actual I/O transfer routine in a very confusing way.

Solution:
    Re-enabled MPI-IO optimized transfer routines in all the cases where they
    should work.

    Extracted all the pre-conditions for optimized transfers into separate
    routines from the transfer routines.

Platforms tested:
    FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
2002-04-03 12:07:14 -05:00
Albert Cheng
ad641fa7b6 [svn-r5135] Purpose:
Features.
Description:
    Error stack used to report only hdf5 predefined error messages
    because it takes only static strings.  Runtime defined messages
    were not pushed to the stack.
    Added the means and macros to push MPI error strings onto the
    hdf5 error stack.  Added a new minor error class as H5E_MPIERR
    for this class of messages.
    H5Epulbic.h, H5E.c:
	Added H5E_MPIERR and its minor class description.
    H5Eprivate.h:
	Added HMPI_XXX macros to push MPI error strings to the stack.
    H5FDmpio.c:
	Changed couple places to use the new macros to test the new
	macros.  A more through changes to make use of these new
	macros will be done later.
Platforms tested:
    eirene (serial, parallel)
    modi4(parallel)
2002-04-02 23:44:26 -05:00
Quincey Koziol
c0ca09a899 [svn-r5134] Purpose:
Fix typo...
Description:
    Fix typo in last H5S_find() checkin...
Platforms tested:
    IRIX64 6.5 (modi4)
2002-04-02 22:17:23 -05:00
Bill Wendling
68556658db [svn-r5132] Purpose:
Autotools Update
Description:
	I've updated autoconf, automake, and libtool to the latest/greatest
	versions; 2.53, 1.6, and 1.4.2 resp.

	Many changes come with the new versions:

		- ltconfig is no longer used
		- acconfig.h is no longer used (#define values are declared with
		  the macro)
		- regeneration of all of the aclocal.m4, configure, and
		  H5config.h.in files.
		- new config.{guess,sub} files
		- new ltmain.sh file
Platforms tested:
	AIX (blue), and Linux
2002-04-02 17:08:23 -05:00
Quincey Koziol
8005e831a0 [svn-r5131] Purpose:
Code cleanup
Description:
    The function pointer for doing parallel I/O was being set in the H5D_read
    and H5D_write routines instead of in H5S_conv, where it belongs.
Solution:
    Added an extra 'flags' parameter to H5S_find to allow the function to
    determine when to set the MPIO functions instead of the regular optimized
    I/O routines and get rid of code messing with the function pointer in the
    H5D routines.
Platforms tested:
    IRIX64 6.5 (modi4)
2002-04-02 16:21:13 -05:00
Quincey Koziol
d2232a345f [svn-r5130] Purpose:
Bug Fix & Feature

Description:
    The selection offset was being ignored for optimized hyperslab selection
    I/O operations.

    Additionally, I've found that the restrictions on optimized selection
    I/O operations were too strict and found a way to allow more hyperslabs
    to use the optimized I/O routines.

Solution:
    Incorporate the selection offset into the selection location when performing
    optimized I/O operations.

    Allow optimized I/O on any single hyperslab selection and also allow
    hyperslab operations on chunked datasets.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-02 15:51:41 -05:00
Quincey Koziol
ebbabfd3ef [svn-r5126] Purpose:
Bug Fix (sorta)
Description:
    "small" contiguous hyperslabs were not being detected correctly by
    H5S_hyper_select_contigous() leading to poorer performance than possible.
Solution:
    Corrected check for small hyperslabs.  Also cleaned up the H5S_find() code.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-04-01 13:52:02 -05:00
Raymond Lu
1c1653aa40 [svn-r5123]
Purpose:
    Bug fix()
Description:
    Variable-length string wasn't treated as string.
Solution:
    Added character set and padding into VL string type.
Platforms tested:
    FreeBSD
2002-03-29 18:46:56 -05:00
Robb Matzke
7fdd11e277 [svn-r5110] ./hdf5-devel/src/H5G.c
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.
2002-03-28 14:27:38 -05:00
Robb Matzke
cbc28bc32d [svn-r5109] ./hdf5-devel/src/H5Fistore.c
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.
2002-03-28 14:27:34 -05:00
Robb Matzke
fc87c2878c [svn-r5108] ./hdf5-devel/src/H5B.c
Merge of name component length limit bugfix from 1.4 branch.
A couple of very minor typos fixed.

2002-03-18 14:30:58 Robb Matzke  <matzke@arborea.spizella.com>
	* H5B_assert: Fixed typos in comments.
2002-03-28 14:27:30 -05:00
MuQun Yang
631b344df2 [svn-r5101]
Purpose:
    fix a windows bug
Description:
    1. To create a >4GB file, fstati64 has to be used instead of fstat.
    change fstat to fstati64 for WIN32 macroes. Some discussions are going on
    the general issue on how to better handle with WIN32 or other similar platform.
    This check-in is just a reminder not to forget the windows bug.
    2. erase a WIN32 macro(include winsock2.h) at h5detect.c. It is not a problem now.
Solution:
    use fstati64 instead of fstat for win32.
Platforms tested:
  windows2000(confirmed at linux machine eirene)
2002-03-27 15:47:24 -05:00
Quincey Koziol
7e9738f290 [svn-r5096] Purpose:
Bug Fix

Description:
    The H5Gget_objinfo() function was not setting the 'fileno' field in the
    H5G_stat_t struct passed in.

Solution:
    Added a "file serial number" to each file currently open in the library
    and put that in the 'fileno' field.  If a file is opened twice (with
    H5Fopen) and the VFL driver detects that it is the same file (i.e. the
    two file structures have the same "shared file info" in the library's
    memory structures), they will have the same serial number.

    This serial number has two drawbacks:
        - If a VFL driver doesn't/can't detect that two calls to H5Fopen with
            the same file actually _are_ the same file, each will get a
            different serial number
        - If the same file is closed and re-opened, the serial number will be
            different.

    It is be possible to fix the second drawback for many VFL drivers, but it
    would be a lot of effort and probably isn't worth it until we've got a
    good reason to do it.  Dunno if we'll ever be able to fix the first
    drawback...

Platforms tested:
    FreeBSD 4.5 (sleipnir)
VS: ----------------------------------------------------------------------
2002-03-27 15:25:03 -05:00
Quincey Koziol
ccfdf1f9e4 [svn-r5082] Purpose:
Bug Fix
Description:
    When reading a contiguous hyperslab that spanned the entire dataset and
    was larger that the type conversion buffer, the hyperslab routines need
    to fill the type conversion buffer and then return to the I/O routines.

    When the I/O routines resume the hyperslab operation, it was possible to
    have a combination of coordinates which caused the hyperslab iterator
    to incorrectly advance in the file, causing some data to be re-read or
    re-written.

Solution:
    Corrected the H5S_hyper_iter_next routine to correctly handle contiguous
    hyperslabs that span the entire dataset dimensions.

Platforms tested:
    Linux (eirene)
2002-03-26 14:55:28 -05:00
HDF Admin
27f0b5a267 [svn-r5078] Snapshot version 1.5 release 23 2002-03-23 04:14:47 -05:00
MuQun Yang
cd0af12f66 [svn-r5075] Snapshot version 1.5 release 22 2002-03-21 08:49:57 -05:00
Bill Wendling
03463f4f94 [svn-r5074] Purpose:
Code Motion
Description:
	Removal of HDF4 from the configure/Makefiles. This is a precursor to
	the actual physical removal of the HDF4 tools from the HDF5 tree.
Platforms tested:
	Arabica, Dangermouse
2002-03-20 13:14:36 -05:00
Pedro Vicente Nunes
c33fd20d54 [svn-r5064]
Purpose:
    updated the H5D_update_chunk function
Description:
    removed some debugging code headers
Platforms tested:
    w2000, linux
2002-03-14 12:52:58 -05:00
Pedro Vicente Nunes
e739b76295 [svn-r5063]
Purpose:
    added a new function H5D_update_chunck that will update the chunk information; for the moment this function
    just has debugging of the b-tree

Platforms tested:
    w2000 , eirene
2002-03-13 17:22:44 -05:00
Pedro Vicente Nunes
64658d1f9f [svn-r5062]
Purpose:
    code clean up
Description:
    just some clean up of the functions H5D_set_extend and H5S_set_extend before the big change
    (changing chunk info in the b-tree struct of the dataset)
Platforms tested:
    w2000, eirene
2002-03-13 11:35:31 -05:00
Thomas Radke
bbc50c3a1f [svn-r5060]
Purpose:
    Bugfix
Description:
    Internally created socket wasn't closed
Solution:
    In my last commit I only fixed the case for sending data over a socket.
    There was also a resource leak for the receiving side where an internally
    created socket wasn't closed. Same wrong logical condition, same fix.
Platforms tested:
    Linux, SGI
2002-03-11 10:32:37 -05:00
Thomas Radke
6eea626ef0 [svn-r5059]
Purpose:
    Bugfix
Description:
    If the socket, used for data streaming by the Stream driver, was created
    by the driver itself, it did not close it after the file had been closed.
    A resource leak occured.
Solution:
    This bug was just introduced due to a logical condition.
    Fixing the condition solved the problem.
Platforms tested:
    Linux, SGI
2002-03-11 07:48:21 -05:00
HDF Admin
30d5329208 [svn-r5019] Snapshot version 1.5 release 21 2002-02-27 14:43:34 -05:00
Binh-Minh Ribler
35bdf428bd [svn-r4979] Purpose:
Adding support for dll
Description:
    Added the definition of __DLLCPP__ depending on:
        HDF5_CPPDLL_EXPORTS: C++ API is to be exported - this name is
                generated by MSVC++ when the project was created.
        HDF5CPP_USEDLL: C++ API dll is to be used (imported.)  Any
                applications, that use the C++ API dll, must define this
                name in the project setting.
    On non-windows platforms, __DLLCPP__ is nil.
Platforms tested:
    Linux 6.2 (eirene)
    Windows 2000
2002-02-17 20:01:17 -05:00
Quincey Koziol
b8dbd390db [svn-r4978] Purpose:
Code cleanup
Description:
    Cleanup compiler warnings found by the SGI compiler and gcc 3.0
Platforms tested:
    FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
2002-02-16 21:51:21 -05:00
Quincey Koziol
c562d4da06 [svn-r4968] Purpose:
Bug fix
Description:
    Correct prototype inconsistency.
2002-02-14 13:41:04 -05:00
Quincey Koziol
5883b9d67d [svn-r4965] Purpose:
Bug Fix
Description:
    If a non-zero fill-value is used for a chunked dataset, any non-existent
    chunked read with an "all" selection (or a contiguous hyperslab selection)
    will return zero for those instead of the user's fill-value.
Solution:
    Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
    will be available to fill the user's buffer with.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-14 10:57:48 -05:00
Pedro Vicente Nunes
c1d20571eb [svn-r4951]
Purpose:
   fixed a typo of the name H5S_set_extend on the call
FUNC_ENTER (H5S_set_extend, FAIL);

Platforms tested:

w2000  octopus
linux eirene
sun   arabica
IRIX64 modi4
2002-02-13 14:33:14 -05:00
Quincey Koziol
6e209992ee [svn-r4948] Purpose:
Bug fix
Description:
    When a block was preempted from the chunk cache, it is possible that one
    of the pointers in the algorithm is invalidated and would generate a core
    dump.
Solution:
    Re-calculate the internal pointer and move the the preemption after the
    re-calc.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-13 14:23:57 -05:00
HDF Admin
f33cb1352c [svn-r4930] Snapshot version 1.5 release 20 2002-02-09 04:53:25 -05:00
Pedro Vicente Nunes
472c42233c [svn-r4921]
Description:

modified the below files to inlude a new public function H5Dset_extend, similar
to H5Dextend, but it can lower the dimension

this function requires 2 more new private functions:
H5D_set_extend
H5S_set_extend

Platforms tested:
2002-02-07 15:20:40 -05:00
Quincey Koziol
d8626dd40f [svn-r4920] Purpose:
Bug fix
Description:
    Correct inefficient property copying when using derived property list
    classes.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-07 14:55:43 -05:00
Quincey Koziol
9d98d34210 [svn-r4914] Purpose:
Bug fix & feature add
Description:
    Added new API function H5Sget_select_type to determine type of selection in
    a dataspace.  Return values are defined by the H5S_sel_type enumerated type
    in H5Spublic.h

    Also, hyperslab operations involving a "all" or "none" selection are not
    generating the correct resulting selections.

Solution:
    Added more code to make hyperslab operations against an "all" or "none"
    selection generate the correct results.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-07 11:21:24 -05:00
Quincey Koziol
eb5697d309 [svn-r4904] Purpose:
Bug fix
Description:
    Generic property classes derived from an existing class were not having
    the parent class's properties copied into the new class.

    Additionally, derived classes were not being detected correctly.

Solution:
    Copied properties from parent class into derived class.

    Modified H5P_isa_class_real() to walk back up the chain of parent classes
    to proper detect derived classes.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-06 11:07:23 -05:00
Quincey Koziol
0288e2f9da [svn-r4903] Purpose:
Code cleanup
Description:
    Clean up H5D_read and H5D_write routines, adding comments, etc.
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-02-06 09:31:26 -05:00
Quincey Koziol
e0177ee0f3 [svn-r4891] Purpose:
Code speedup
Description:
    Chunking I/O routines are reading in an entire chunk when performing I/O
    on the chunk, even if the chunk will be too large to cache.
Solution:
    If the chunk is too large to cache, uncompressed and has been allocated
    space in the file, or if we are using the MPI-I/O VFD, perform the I/O
    directly to the chunk, instead of reading the chunk into memory, updating
    it and immediately writing the entire chunk back out.
Platforms tested:
    FreeBSD 4.5 (sleipnir) (using serial access) and IRIX64 6.5 (modi4) (using
    parallel access with MPI-I/O)
2002-01-31 14:46:21 -05:00
Quincey Koziol
0a612f0a61 [svn-r4868] Purpose:
Bug fixes

Description:
    This checkin addresses two separate bugs:
      - When a compound datatype with a VL datatype as a field is used
            to read or write data, the datatype conversion paths added to
            the table of paths were treating the VL datatypes somewhat too
            genericly - they weren't dicriminating between VL datatypes used
            in different files and therefore there was the possibility that
            a path in the table having information for one file could get used
            with a second file, causing errors or core dumps (if the first
            file was closed before the later file used the path).
      - When composite (compound, array or VL) datatype paths in the datatype
            conversion table are being tested to see if they can be used for
            the current datatypes being converted, they can cause additional
            conversion paths to be registered in the conversion path table.
            Since this causes the global table to change size and entries to
            move around, it is possible that the local variables tracking a
            potential path could become incorrect as the global table was
            changed out from underneath them.

    Both bugs fixed are described in bug 

Solution:
    Two separate fixes:
      - Changed H5T_cmp to differentiate between VL datatypes in different
            files and not to return datatypes in two different files as equal.
      - Note size of global table before evaluating datatype paths.  Then,
            after the appropriate path has been chosen, check if the size of
            the global table has changed and recompute the position of the path
            chosen in the table if necessary.

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-27 00:20:16 -05:00
Quincey Koziol
613d63ba73 [svn-r4867] Purpose:
Code cleanup
Description:
    Added some more assertions to help debug in the future...
Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-27 00:06:31 -05:00
HDF Admin
c41e250354 [svn-r4864] Snapshot version 1.5 release 19 2002-01-26 05:16:37 -05:00
Robb Matzke
dba8c269a5 [svn-r4863] ./hdf5-devel/src/H5Tpkg.h
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.

I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.

2002-01-25 10:48:34 Robb Matzke  <matzke@arborea.spizella.com>
	*: Added prototype for H5T_conv_order_opt().
2002-01-25 11:21:37 -05:00
Robb Matzke
209a8c3a8a [svn-r4862] ./hdf5-devel/src/H5Tconv.c
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.

I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.

2002-01-25 10:48:54 Robb Matzke  <matzke@arborea.spizella.com>
	* H5T_conv_order: Removed Duff's device consisting of >500 lines of code. Unrolled
	   two loops by hand resulting in <300 lines of code
	   which is a few percent faster and far easier to read.
2002-01-25 11:21:33 -05:00
Robb Matzke
b26680baee [svn-r4861] ./hdf5-devel/src/H5T.c
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.

I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.

2002-01-25 10:47:13 Robb Matzke  <matzke@arborea.spizella.com>
	* H5T_init_interface: Registered conversion function H5T_conv_order_opt() under two
	   names. H5T debugging will report the conversion
	   function as either "ibo(opt)" or "fbo(opt)".
2002-01-25 11:21:01 -05:00
Quincey Koziol
5e7ed206ea [svn-r4851] Purpose:
Bug Fix
Description:
    When file space was returned to the file space free-list for reuse,
    occasionally raw data allocations which used space from the free-list
    would overlap with the metadata accumulator and get over-written with
    the cached information in the accumulator, corrupting the data.
Solution:
    Check if the space about to be recycled on the free-list is going to be
    used for raw data and also overlaps with the metadata accumulator cache,
    avoiding using space that fits those criteria.

    This fixes bug 

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-01-23 16:28:24 -05:00
Quincey Koziol
6f445c649d [svn-r4842] Purpose:
Feature improvement
Description:
    Re-write how the free-list headers were used, to reduce the amount of space
    added to each malloc request.  Reduced header for array and block free
    list items from 24 bytes to 8 bytes and eliminated the header for fixed-size
    free list items entirely.  This should reduce the amount of memory that the
    library uses.
Platforms tested:
    FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
2002-01-17 13:08:00 -05:00