Commit Graph

2355 Commits

Author SHA1 Message Date
Quincey Koziol
12ba2eed6a [svn-r8425] Purpose:
Bug fix (sorta)

Description:
    The SGI machines have problems accurately (and consistently) converting
unsigned long values to float and double values, so put in a bit of a hack in
the datatype conversion test code to allow them to get "close enough".  This
hack is enabled at configure time by a flag which should only be set on machines
with this problem.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-04-28 12:02:12 -05:00
Raymond Lu
b3d2f04490 [svn-r8424] *** empty log message *** 2004-04-27 14:16:54 -05:00
Albert Cheng
4fa0c3f5bc [svn-r8422] Purpose:
Undo the mysterous changes.

Description:
Somehow something changed this file during snapshot release.
Undo the change.

Platforms tested:
No test since it is a simple editing.

Misc. update:
2004-04-26 08:54:16 -05:00
HDF Admin
9af04cd41d [svn-r8418] Snapshot version 1.7 release 23 2004-04-25 04:10:35 -05:00
Quincey Koziol
77706cc276 [svn-r8416] Purpose:
Code cleanup

Description:
    Reduce warnings w/PC-Lint in various ways

Platforms tested:
    PC-Lint
    too minor to require h5committest

Misc. update:
2004-04-23 22:47:06 -05:00
Quincey Koziol
b57f3b955f [svn-r8415] Purpose:
Code cleanup

Description:
    Reduce # of warnings with PC-Lint

Platforms tested:
    PC-LINT
    Too minor to require h5committest
2004-04-23 22:24:54 -05:00
Quincey Koziol
fad6801569 [svn-r8412] Purpose:
Code cleanup

Description:
    Run lint on module

Platforms tested:
    PC-Lint
    Too minor to require h5committest
2004-04-23 00:06:20 -05:00
Quincey Koziol
d9ccc0e0f5 [svn-r8408] Purpose:
Code optimization

Description:
    Instead of dynamicly allocating various arrays for various pieces of
information about a selection or selection iterator, just use fixed size
array of size H5S_MAX_RANK (as the rest of the library does).

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-04-22 15:21:44 -05:00
Quincey Koziol
e8e696542f [svn-r8406] Purpose:
Code optimization

Description:
    Make calculation of "all" selection sequence length information more
efficient.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    h5comittest
2004-04-22 15:18:49 -05:00
Quincey Koziol
92413789bf [svn-r8393] Purpose:
Code optimization

Description:
    Avoid clearing the error stack unless necessary.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-19 15:23:04 -05:00
John Mainzer
4a85877fdc [svn-r8391] Purpose:
Checkpoint checkin of FP bug fixes.  FP is still quite
buggy, but I must go deal with other matters.


Description:

Fixed two major bugs:

1) H5FPserver.c was clobbering meta data in its care.

2) H5FPserver.c was allocating the same space multiple
   times, causing both data and meta data corruption.

Also made minor fixes, added debugging code, and familiarized
myself with the FP code.

All development work with FP enabled was done on Eirene.
On this platform, FP now passes its test reliably with
up to 9 processes.  At 10 processes it seg faults every
time.  I haven't looked into this issue.

There are also several known locking bugs which have to
be fixed.  However, they are of sufficiently low probability
that I didn't bother with them on this pass.

FP has not been tested with deletions -- this should be
done.

Also, need to test FP chunked I/O.


Solution:

1) Modified cache in H5FPserver.c to merge changes correctly.
   Found and fixed a bug in H5TB.c in passing.

2) Multiple space allocation was caused by a race condition
   with set eoa requests.

   Most of these eoa requests appeared to be superfluous, so
   I deleted them.

   Those issued during the superblock read seemed necessary,
   so I inserted a barrier at the end of the superblock read,
   to prevent races with allocations.

Platforms tested:
h5committested
2004-04-19 12:42:34 -05:00
John Mainzer
9937495a33 [svn-r8389] Purpose: Bug fix and warning
Description:
Fixed bug in H5TB_less().  It was returning the next largest node,
instead of the next smallest as advertised.

Added comments warning that H5TB_rem()s will occasionally delete a
node other than the one provided in its argument list.

Solution:
It was sufficient t invert two comparisons in H5TB_less().

Platforms tested:
h5committested
2004-04-19 11:24:48 -05:00
HDF Admin
4e65894845 [svn-r8385] Snapshot version 1.7 release 22 2004-04-18 04:10:08 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Quincey Koziol
880d8357bf [svn-r8376] Purpose:
Code cleanup

Description:
    Update null dataspace changes to try to write older version of dataspace
information whenever possible.

    Refactor common code to only one location.

    Allow I/O operations to succeed on null dataspaces.


Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-04-17 15:31:50 -05:00
Quincey Koziol
d08090ff29 [svn-r8374] Purpose:
Code optimization

Description:
    Instead of re-initializing the default stride & block arrays to have values
of '1' in each position each time we perform a hyperslab selection, create
static constant arrays with '1's in them.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-17 14:22:15 -05:00
Quincey Koziol
dd0480cd30 [svn-r8372] Purpose:
Code optimization

Description:
    Don't copy hyperslab span information as much.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-17 13:25:56 -05:00
Albert Cheng
e4d5623692 [svn-r8370] Purpose:
Bug fix.

Description:
Not all machines (like Sun and AIX) support fabsl() and fabsf() used
in test/dtypes.c.  Changed the coding to use macro names HDfabsl and
HDfabsf.  Also set the two macros to use ABS for now so that they will
work for all machines. (need more portable fixes which would involve
configure.)

Platforms tested:
h5committested. (also tested in LANL QSC and Theta).
2004-04-17 12:17:32 -05:00
Quincey Koziol
9e859565e4 [svn-r8368] Purpose:
Code optimization

Description:
    Compute value for array instead of using memset(), since we are looping
through the array indices anyway.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-17 11:06:34 -05:00
Quincey Koziol
3f7b3c752d [svn-r8366] Purpose:
Code optimization

Description:
    Eliminate memset() calls to clear structures that we completely initialize

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-17 11:05:20 -05:00
Quincey Koziol
fd03553851 [svn-r8364] Purpose:
Code optimization

Description:
    Remove redundant function call by re-using value we already know.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-17 11:04:11 -05:00
Albert Cheng
599adeb080 [svn-r8353] Purpose:
feature

Description:
H5check_version will print warning messages if the version does not
match or if the lib version string is not consistent, even when
$HDF5_DISABLE_VERSION_CHECK is set to 1.  This will mess up
tests that try to match output.

Changed it so that if $HDF5_DISABLE_VERSION_CHECK is set to 2, no
warning about version mismatch is printed.
The lib version string warning is suppressed if $HDF5_DISABLE_VERSION_CHECK
is set to any non-zero value.

Platforms tested:
Tested in sol only but pretty comprehensive to make the warnings do get
suppressed.

Misc. update:
2004-04-14 13:14:40 -05:00
HDF Admin
cf49b96827 [svn-r8350] Snapshot version 1.7 release 21 2004-04-14 04:48:18 -05:00
Raymond Lu
6e9faf2337 [svn-r8348] Purpose: More test
Description:  Add more tests for bittests.c to check bit operations like H5S_bit_shift,
H5S_bit_inc, H5S_bit_dec, H5S_bit_neg.


Platforms tested: h5committest
2004-04-13 13:37:06 -05:00
Quincey Koziol
e3e3e9ccf0 [svn-r8347] Purpose:
Code optimization

Description:
    Eliminate memory allocations for I/O vectors when using the default
vector size.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-13 13:30:33 -05:00
Raymond Lu
dfe9639c9b [svn-r8344] Purpose: Internal function change
Description:  H5T_bit_shift wasn't general enough to handle arbitory start, length.

Solution:  Make it be so.

Platforms tested:  h5committest
2004-04-12 15:49:36 -05:00
Quincey Koziol
a7c2871572 [svn-r8342] Purpose:
Code optimization

Description:
    Remove another dataspace copy, in certain circumstances.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-10 13:02:27 -05:00
Quincey Koziol
793f8cadd3 [svn-r8339] Purpose:
Code optimization

Description:
    Remove a memcpy() from a commonly called routine and replace a multiplication
with a series of additions.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-10 12:12:42 -05:00
Quincey Koziol
4f7308af91 [svn-r8337] Purpose:
Code optimization

Description:
    Avoid another extraneous dataspace copy.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2004-04-10 11:04:53 -05:00
Quincey Koziol
eb7a675f0a [svn-r8335] Purpose:
Code optimization

Description:
    Change algorithm to directly use coordinates describing a chunk's position
in a dataspace instead of creating a dataspace with the chunk's position
selected.  This reduces the number of copies of dataspaces we need to keep
around.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2004-04-10 09:44:58 -05:00
Raymond Lu
270d097bd1 [svn-r8330] Purpose: Last step of check-in for Null dataspace
Description:  Mainly are header message changes for dataspace.  In last round
of check-in, a new header message for dataspace to created, which is not a good
way.  Now, there will be no new message for dataspace, but just add the type of
dataspace in the message while increment its version number.  Backward compatibility
is addressed.  The attribute design is modified accordingly.


Platforms tested: h5committest
2004-04-08 16:22:21 -05:00
Quincey Koziol
aa5e1dc4d2 [svn-r8328] Purpose:
Code optimization

Description:
    Check for only performing I/O on a single chunk and re-use memory dataspace,
instead of re-creating the same dataspace & selection the hard way.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2004-04-08 13:19:02 -05:00
Quincey Koziol
b356572029 [svn-r8326] Purpose:
Code optimization

Description:
    Eliminate more dataspace copying, etc.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2004-04-08 11:59:34 -05:00
Quincey Koziol
ddf73f26c3 [svn-r8324] Purpose:
Correct typo in comment
2004-04-08 11:58:32 -05:00
Quincey Koziol
dffe5b9a2b [svn-r8321] Purpose:
Code optimization

Description:
    Reduce the number of dataspace copies made when performing I/O on chunked
datasets.

Platforms tested:
    Solaris 2.7 (arabica)
    too minor to require h5committest
2004-04-08 09:10:34 -05:00
Quincey Koziol
42e2d9dd37 [svn-r8316] Purpose:
Code optimization

Description:
    Query the dataset creation and transfer properties less often.

Platforms tested:
    Solaris 2.7 (arabica)
    h5committested
2004-04-07 13:16:22 -05:00
Raymond Lu
be7efff2b7 [svn-r8314] Purpose: Progressive check-in
Description:  NULL dataspace.  This step is mainly for dataspace header
message and a test.

Solution:  The test mainly checks NULL dataspace features.  Backward compatibility
is tested in the fill value test.

Platforms tested: h5committest
2004-04-06 15:08:20 -05:00
Quincey Koziol
b230f3eb22 [svn-r8312] Purpose:
Code optimization

Description:
    Eliminate unnecessary allocation and point at existing data structure
instead.

Platforms tested:
    Solaris 2.7 (arabica)
    too minor to require h5committest
2004-04-06 13:51:26 -05:00
Quincey Koziol
fde9bbabc4 [svn-r8309] Purpose:
Code optimization

Description:
    Fix H5S_select_hyperslab to use arrays on the stack instead of dynamically
allocating them each time.

Platforms tested:
    Solaris 2.7 (arabica)
    too small to require h5committest
2004-04-06 11:57:30 -05:00
Quincey Koziol
5bace59b99 [svn-r8307] Purpose:
Code optimization

Description:
    Fix H5S_select_copy so it doesn't call calloc() for allocating memory that
will be immediately overwritten.

Platforms tested:
    Solaris 2.7 (arabica)
    too small to require h5committest
2004-04-06 11:38:00 -05:00
Quincey Koziol
1a867ef2db [svn-r8305] Purpose:
Code optimization

Description:
    Minor tweaks on the optimized offset/length sequence generator to improve
performance by reducing the number of 64-bit multiplies and calls to memcpy().

Platforms tested:
    Solaris 2.7 (arabica)
    too minor to require h5committest
2004-04-06 11:14:12 -05:00
Quincey Koziol
394dace97b [svn-r8303] Purpose:
Code optimization

Description:
    Compute the size of a chunk once, when the layout information is set,
instead of each time I/O is performed on the chunk.

Platforms tested:
    h5committest
    Solaris 2.7 (arabica)
2004-04-06 08:37:18 -05:00
Quincey Koziol
43d3a9bfe8 [svn-r8301] Purpose:
Code optimization

Description:
    Move handling for free list arrays that have no maximum size to separate
set of routines and optimize computations for free list arrays with maximum
size to avoid re-computing sizes all the time.

Platforms tested:
    h5committest
    Solaris 2.7 (arabica)
2004-04-06 08:11:45 -05:00
Quincey Koziol
c3d9b510b4 [svn-r8287] Purpose:
Bug fix/code cleanup

Description:
    Copy Robb's feature in SSlib that checks that the name of the function
used in the FUNC_ENTER macro is actually the name of function.

    Fixed a bunch of typos & copy-n-pasto's for functions with incorrect names.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest
2004-03-30 15:41:45 -05:00
Raymond Lu
370a4f930f [svn-r8276] *** empty log message *** 2004-03-24 16:03:52 -05:00
Albert Cheng
5f7cc58755 [svn-r8272] Purpose:
bug fix.

Description:
H5FD_mpio_init was calling the public API version of H5Iget_type()
which would clear the error stack, thus cleared away error messages
prematurely.

Solution:
Changed it to call the private version of H5I_get_type() which
does not clear the error stack.

Platforms tested:
o2 (SGI) parallel.
2004-03-22 23:39:37 -05:00
Raymond Lu
3c9420c967 [svn-r8270] Purpose: code cleanup
Description:  took out function of older algorithm(H5T_bit_neg2).


Platforms tested: fuss
2004-03-22 09:20:38 -05:00
Raymond Lu
7fb0362eed [svn-r8266] Purpose: Internal function change
Description: The algorithm of H5T_bit_neg wasn't general enough.

Solution:  Changed it to handle arbitory starting position and size
in a bit sequence.

Platforms tested: h5committest.
2004-03-19 14:55:42 -05:00
Raymond Lu
e45e85190b [svn-r8265] Purpose: Code cleanup
Description:  Some printing commands left there for debugging.

Solution:  Took them out.

Platforms tested:  fuss(RH8).  Simple change
2004-03-18 13:48:02 -05:00
Raymond Lu
a8ec063090 [svn-r8264] Purpose: Internal algorithm change
Description:  The H5T_bit_dec algorithm wasn't general enough.

Solution:  Changed it to handle bit sequence starting at any position
and of any length.

Platforms tested: h5committest
2004-03-17 12:36:34 -05:00
HDF Admin
19d0f85444 [svn-r8263] Snapshot version 1.7 release 20 2004-03-17 08:16:26 -05:00
Raymond Lu
95dc09ab4b [svn-r8259] *** empty log message *** 2004-03-13 12:39:41 -05:00
Pedro Vicente Nunes
5ca8720063 [svn-r8251] Purpose:
bug fix

Description:
the fletcher filter used a temporary  2 byte word buffer to compute the checksum.
this is non portable between big-endian/little endian.

Solution:
replaced with a buffer of 1 byte type

Platforms tested:
linux
solaris
solaris 64 bit
AIX
windows

Misc. update:
2004-03-10 19:23:55 -05:00
Elena Pourmal
66c858c269 [svn-r8241] Purpose: Bug fix (#71 in Bugzilla DB)
Description: C++ comment was used. That caused a problem for a user (see
             bug description)

Solution: Changed comment to C type

Platforms tested: eirene

Misc. update:
2004-03-09 16:15:24 -05:00
Albert Cheng
77d3875c5b [svn-r8228] Purpose:
Incremented the release number.  The previous one is used
by the fphdf5 alpha0 release.

Platforms tested:
Tested in Eirene with fortran and cxx.
2004-03-01 18:14:30 -05:00
HDF Admin
ddd683737b [svn-r8225] FPHDF5 alpha0 release 2004-02-27 05:37:49 -05:00
Pedro Vicente Nunes
f29e2a01e3 [svn-r8218] Purpose:
bug fix in H5Zshuffle.c
add more tests to h5repack that exposed the bug

Description:
when creating a dataset with the shuffle filter and duplicating it in a new dataset (file)
the call to H5Z_set_local_shuffle failed. this is because the value of cd_nelmts of the filter
structure is set to 1 (H5Z_SHUFFLE_TOTAL_NPARMS) when the original dataset is created, but when
the new dataset is created there is a checking instruction that fails if the value of
cd_nelmts is not 0 (its original value, H5Z_SHUFFLE_USER_NPARMS)

Solution:
just remove that check condition, since the value of cd_nelmts is not used anyway.
if we decide that the value of cd_nelmts is necessary, then the H5O_pline_copy function
must be changed to update this value (a different update for each filter)

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-02-23 11:52:45 -05:00
HDF Admin
fe388e2c13 [svn-r8216] Snapshot version 1.7 release 18 2004-02-22 04:16:37 -05:00
Albert Cheng
691fae29d4 [svn-r8212] Purpose:
Bug fix.

Description:
The -g in H5detect somehow does not work with 64bit mpicc in arabica.
Remove it for now for better solution.

Platforms tested:
no test as the change is trivia.

Misc. update:
2004-02-18 17:31:05 -05:00
Albert Cheng
5937bcd021 [svn-r8207] Purpose:
Bug fix, sort of.


Description:
Some compilers, e.g., intel compiler, would take a long time
to compiler H5detect.c if optimization is on.


Solution:
Setup special make rules for H5detect to be compiled always with
optimization off by using -g.  Since H5detect is run once to generate H5Tinit.c,
it does not matter that much if it is optimized or not.


Platforms tested:
"h5committested".
Tested in Titan too.
2004-02-16 23:25:40 -05:00
Quincey Koziol
d8cfeadd90 [svn-r8158] Purpose:
Code cleanup/optimization

Description:
    Query property list values once, at the beginning of the I/O routines,
instead of querying the property list values multiple (lots!) of times in
lower level routines.

Solution:
    Create "property list caches" for internal library queries of the property
list values.

Platforms tested:
    IBM p690 (copper) w/parallel & fphdf5
    h5committest
2004-02-06 10:34:01 -05:00
Quincey Koziol
aaeecad656 [svn-r8157] Purpose:
Code cleanup/optimization

Description:
    Hoist property list queries up out of inner loops to cache the values at
a higher level and pass them into the lower-level routines.

Platforms tested:
    IBM p690 (copper) w/parallel & fphdf5
    h5committest
2004-02-06 10:31:23 -05:00
Quincey Koziol
ad6408e384 [svn-r8154] Purpose:
Code cleanup

Description:
    Minor tweaks, cleanups & optimizations to new bit operation routines.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-02-05 11:10:40 -05:00
Raymond Lu
08aa29cd5e [svn-r8153] *** empty log message *** 2004-02-04 17:52:01 -05:00
Pedro Vicente Nunes
c238a6c13c [svn-r8150] Purpose:
introduced the constant H5Z_FILTER_ALL, used to remove all filters in H5Premove_filter

Description:

Solution:

Platforms tested:
linux

Misc. update:
2004-02-04 15:35:37 -05:00
Pedro Vicente Nunes
78fb916259 [svn-r8149]
Purpose:
replaced name of delete filter with remove filter for the new function H5Premove_filter

Description:

Solution:

Platforms tested:
linux

Misc. update:
2004-02-04 14:36:12 -05:00
Quincey Koziol
517643f146 [svn-r8144] Purpose:
Bug fix.

Description:
    Revert the optimization to the MPI-I/O VFD from earlier this week that
eliminated calling MPI_File_set_size() when a file was truncated.  This doesn't
work because of the way we track the 'eoa' (end of allocated space) in the
file: we just advance the eoa value when space is allocated in the file and we
don't zero out the space in the file.  This causes a problem where we assume
that all "newly allocated" space in the file contains zero bytes, but if we
don't call MPI_File_set_size(), the file can contain the previous data (if the
file previously existed) and not zeros.
    Unfortunately, because we allow independent raw data parallel I/O, there
is no way to address this issue. :-(

Solution:
    Revert to previous method of retrieving the file's size, etc. from before
the optimization.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    too minor to require h5committest.
2004-02-01 22:58:29 -05:00
Quincey Koziol
0ce42d9ed9 [svn-r8142] Purpose:
Fix build with C++ compiler

Description:
    Add file driver header files for prototypes.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/CC=g++
    too obscure to require h5committest
2004-02-01 22:19:39 -05:00
Quincey Koziol
fd442eae18 [svn-r8140] Purpose:
Bug fix

Description:
    Move assertion to allow closing non-HDF5 files with the MPI-I/O VFD to
work correctly again.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-01-31 23:06:22 -05:00
Quincey Koziol
7388e8a3e4 [svn-r8139] Purpose:
Code cleanup

Description:
    Clean up compiler warnings.

Platforms tested:
    h5committested
2004-01-31 13:54:28 -05:00
Quincey Koziol
5646fd9b5e [svn-r8137] Purpose:
Bug fix.

Description:
    Allow H5Tget_native_type() to handle opaque fields in compound datatypes.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-01-31 13:01:33 -05:00
Quincey Koziol
6cf56ca817 [svn-r8136] Purpose:
Optimization

Description:
    Speed up various parts of the library by setting a global variable for the
endianness of the machine at library startup and use that variable instead of
repeatedly querying the endianness of the native int datatype.

Platforms tested:
    IBM p690 (copper)
    too minor to require h5committest
2004-01-31 10:28:40 -05:00
Quincey Koziol
eb4cc0556c [svn-r8135] Purpose:
Optimization

Description:
    Speed up core ID lookup routine (H5I_find_id) by re-structuring the logic
to reduce the number of 'if' statements.

Platforms tested:
    IBM p690 (copper)
    too minor to require h5committest
2004-01-31 10:21:17 -05:00
Quincey Koziol
10382a1799 [svn-r8134] Purpose:
Code cleanup

Description:
    Add destructor to match constructor fr VFLs when they are shut down by the
library.

Solution:
    Added H5FD_*_term() routines to "undo" changes made in H5FD_*_init()
routines.

Platforms tested:
    IBM p690 (copper)
    too minor to require h5committest
2004-01-31 10:19:48 -05:00
Quincey Koziol
d05f6cde52 [svn-r8130] Purpose:
Bug fix

Description:
    Address the failure in the FORTRAN builds by making some more of the
MPI-related typedefs in the library available outside of parallel builds.

Platforms tested:
    Linux 2.4 (verbena) w/FORTRAN & C++
2004-01-31 10:09:19 -05:00
Quincey Koziol
c3b2c41327 [svn-r8129] Purpose:
Bug fix

Description:
    Include the private H5FD header instead of the public one, to address a
failure in building the library with C++ compiler.

Platforms tested:
    FreeBSD 4.9 (sleipnit) w/CC=g++
    not appropriate for h5committest
2004-01-31 09:15:24 -05:00
Quincey Koziol
2d8964517b [svn-r8128] Purpose:
Update dependencies after restructuring of MPI stuff
2004-01-30 21:32:19 -05:00
Quincey Koziol
327608ada8 [svn-r8127] Purpose:
Bug fix

Description:
    Fix a couple of bugaboos in the serial build that crept in

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-01-30 21:16:27 -05:00
Quincey Koziol
138bc92ebd [svn-r8126] Purpose:
Bug fix/optimization

Description:
    Address slowdown in MPI-I/O file metadata operations that was introduced
mid-stream.  We now _require_ a POSIX compliant parallel file system for the
MPI-I/O file driver (as well as for the MPI-POSIX file driver).
    Also optimized file open operation when the file is being created by
reducing the number of collective & syncronizing calls.
    Additionally, refactor the MPI routines into a common place, eliminating
duplicated code.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    h5committest
2004-01-30 20:38:44 -05:00
Quincey Koziol
61a451f89e [svn-r8117] Purpose:
Code cleanup

Description:
    Add C++ and FORTRAN wrappers for new H5Pdelete_filter routine, along with
documentation and a note in the release notes.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Linux 2.4 (verbena) w/ C++ and FORTRAN
    Too minor for full h5committest
2004-01-27 15:39:20 -05:00
Albert Cheng
b637785b44 [svn-r8114] Purpose:
Added color definition of new API.

Platforms tested:
Copper.
2004-01-27 08:35:18 -05:00
Pedro Vicente Nunes
afc3563b76 [svn-r8113] Purpose:
new library function H5Pdelete_filter
deletes one or all filters from a dataset creation property list
this was done for the NONE option of h5repack, added tests for this feature
added a test for the new function in /test/dsets.c


Description:

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-26 18:20:20 -05:00
HDF Admin
2a4253ceb8 [svn-r8112] Snapshot version 1.7 release 17 2004-01-25 20:04:58 -05:00
Quincey Koziol
ea84a9d78b [svn-r8109] Purpose:
Add note about B-tree not being balanced during deletion operations,
pointing interested readers at the Yao & Lehman paper.
2004-01-24 14:07:06 -05:00
Quincey Koziol
618e7e7fbb [svn-r8082] Purpose:
Bug fix

Description:
    Tweak address comparison of external file list's heap address a bit to
pacify Windows.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Asking Pedro to test on Windows
    Too minor to require h5committest
2004-01-19 15:59:44 -05:00
Quincey Koziol
99208cee65 [svn-r8079] Purpose:
Add tests & docs

Description:
    Added tests for the recent B-tree bug fixes & document their fix in the
release notes.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Too minor to require h5committest
2004-01-19 13:48:48 -05:00
HDF Admin
43163efc35 [svn-r8077] Snapshot version 1.7 release 16 2004-01-18 03:24:00 -05:00
Quincey Koziol
35266165fe [svn-r8075] Purpose:
Bug fix.

Description:
    Fix problems in B-tree deletion routine that were corrupting the data
structure when the B-tree had several levels and the right-most item from a
leaf node that was the right-most child of an internal node was removed.
    Also address similar problems when a complete internal or right-most node
was removed.

    NOTE: The B-tree deletion routines are still _NOT_ maintaining the B-tree
properties correctly, that will be addressed in a future (hopefully soon) fix.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too obscure to require h5committest
2004-01-16 15:25:58 -05:00
Quincey Koziol
727f26263f [svn-r8057] Purpose:
Bug fix

Description:
    Plug another small memory leak for fill-values.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-01-13 13:56:32 -05:00
Quincey Koziol
00edaf52c5 [svn-r8053] Purpose:
Bug fix

Description:
    Correct two problems with variable-length datatypes in datasets:
        - When overwriting an entire dataset, writing the fill value to the
            file would be skipped, causing problems for VL datatypes when
            objects in the file had been unlinked (and thus the space in the
            file was not all zeros)
        - When an application has set a fill-value for a dataset and the
            dataset's datatype contained a VL datatype, the library was filling
            space on disk with the memory form of the VL information, instead
            of the disk form.


Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-01-13 13:00:59 -05:00
HDF Admin
f151f5a2a5 [svn-r8051] Snapshot version 1.7 release 15 2004-01-11 03:19:32 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

Description:
    Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
feaa5bb9d5 [svn-r8038] Purpose:
Bug fix

Description:
    When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values.  This causes problems
when the raw information contains pointers to other information.

Solution:
    Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
    This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-01-08 09:55:11 -05:00
Quincey Koziol
ab9a8af778 [svn-r8026] Purpose:
Bug fix

Description:
    Fix small memory leak of fill-value information inside the library.

Solution:
    "reset" the fill-value object header message, so that the internal buffer
gets freed.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-01-06 13:44:34 -05:00
HDF Admin
e076771380 [svn-r8015] Snapshot version 1.7 release 14 2004-01-04 03:14:40 -05:00
Quincey Koziol
4da7b1ee9b [svn-r8009] Purpose:
Bug fix

Description:
    Add special-case handling to floating-point conversion tests to avoid
problems with denormalized values on Cray T3E & T90 platforms.  (Still not
working on Cray SV1, but at least it's closer).

Solution:
    Detect denormalized values and don't try to operate on them on the Crays.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray T3E (hubble.cray.com)
    Cray T90 (gypsy.cray.com)
2003-12-31 15:36:37 -05:00
Quincey Koziol
b0b020d422 [svn-r8007] Purpose:
Bug fix

Description:
    Range check the szip 'pixels per block' against the chunk size of the
dataset when attempting to create a new dataset, since the szip library
requires the PPB to be at least the size of the fastest changing dimension
in the chunk.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor for h5committest
2003-12-31 15:28:46 -05:00
Quincey Koziol
7bcc111c2b [svn-r8000] Purpose:
Bug fix

Description:
    Fixed bug in hyperslab iteration where certain combinations of flattened
and non-flattened dimensions would cause incorrect locations to be iterated
over.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-12-31 14:19:18 -05:00
Quincey Koziol
5db6c61f18 [svn-r7993] Purpose:
Code cleanup, bug fixes

Description:
    Wrap up rest of changes necessary for fixing the "short" MPI-I/O read
problem that Robb reported.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-12-29 14:34:11 -05:00
Quincey Koziol
51984a9926 [svn-r7988] Purpose:
Bug fixes & code cleanup

Description:
    Back out some of the debugging that was inadvertently checked in recently.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-12-29 14:01:04 -05:00
Raymond Lu
16c51c2061 [svn-r7984] Purpose: bug fix
Description: VL datatype fails in certain way(hard to describe)


Platforms tested: h5committest
2003-12-29 12:56:08 -05:00
HDF Admin
99e520c8cb [svn-r7982] Snapshot version 1.7 release 13 2003-12-28 03:20:06 -05:00
Albert Cheng
f1e00b2afe [svn-r7980] Purpose:
Regenerate the Dependncies files.

Platforms tested:
"h5committested"

Misc. update:
2003-12-25 19:08:54 -05:00
Albert Cheng
41e958a30f [svn-r7978] Purpose:
Bug fix

Description:
MPIO driver did not detect partial read or write.  It assumed if read
completed, all bytes requested are read.  Therefore, if a dataset was
not completely written yet, the unread part will not be filled with
default fill value.

Solution:
Added the MPI_Get_elements call to find exactly how many bytes
are read (or written).  For read case, if not enough is read,
the rest is padded with zeros.  For write case, it is an error
if not able to write them all in first attempt. (It is not
always possible to repeat write for MPIO since file-view may
be changed, collective would hang, etc. So, we do just one attempt.)

Platforms tested:
eirene (pp).  Should work for other platforms since these
have been tested in v1.6.

Misc. update:
2003-12-25 17:43:20 -05:00
HDF Admin
4b0b1191da [svn-r7974] Snapshot version 1.7 release 12 2003-12-21 03:10:57 -05:00
Quincey Koziol
8f62cb43da [svn-r7967] Purpose:
Code cleanup for VS.NET

Description:
    Clean up several issues that VS.NET was having problems with.

Platforms tested:
    Eyeballed against Kent's bug reports.
2003-12-17 11:39:17 -05:00
HDF Admin
baf1da6e4b [svn-r7955] Snapshot version 1.7 release 11 2003-12-14 03:15:50 -05:00
Quincey Koziol
8dc49da486 [svn-r7950] Purpose:
Bug fix

Description:
    Attributes which were created with scalar dataspaces were reporting their
dataspace as a simple dataspace when queried later.

Solution:
    Fix the dataspace handling code when reading in the attribute message from
the file to set the extent type correctly.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-12-13 15:08:09 -05:00
Quincey Koziol
a8161177b9 [svn-r7943] Purpose:
Bug fix.

Description:
    Using a selection offset with hyperslab selections in chunked datasets
was getting into an infinite loop and hanging the application.

Solution:
    Apply the selection offset to the hyperslab selection properly.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o parallel
    h5committest
2003-12-13 13:14:36 -05:00
Quincey Koziol
15830ae10a [svn-r7941] Purpose:
Bug fix/code cleanup

Description:
    Add MPE information for new H5I functions.

Platforms tested:
    Eyeballed - very minor
2003-12-12 08:46:07 -05:00
Quincey Koziol
c44fd88805 [svn-r7932] Purpose:
Add new feature

Description:
    Add new H5I{dec|get|inc}_ref() routines and tests for them.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-12-11 13:26:51 -05:00
Quincey Koziol
e653e45ece [svn-r7930] Purpose:
Bug fix/code cleanup

Description:
    Make H5Pclose_class() decrement the ID's reference count to close a generic
property class ID, which allows the new H5I routines to work correctly.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-12-11 13:25:11 -05:00
Quincey Koziol
b2e093e28c [svn-r7929] Purpose:
Code cleanup

Description:
    Fix H5MM_malloc() and H5MM_calloc() routines to use new FUNC_ENTER macros.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-12-11 13:23:41 -05:00
Quincey Koziol
f473fc5cb8 [svn-r7926] Purpose:
Bug fix

Description:
    Clean up a few allocations of zero-sized blocks that were detected with
the new free-list assertions.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o parallel
    too minor to require h5committest
2003-12-10 13:34:53 -05:00
Quincey Koziol
404567ce64 [svn-r7924] Purpose:
Code cleanup

Description:
    Add more assertions to detect attempted allocations of zero-sized blocks.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o parallel
    too minor to require h5committest
2003-12-10 13:31:39 -05:00
Quincey Koziol
e71e53c743 [svn-r7920] Purpose:
Bug fix

Description:
    Correct a couple of minor problems with 1.6 compat mode.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    not tested in h5committest
2003-12-10 11:06:37 -05:00
Quincey Koziol
31431be374 [svn-r7917] Purpose:
Code cleanup

Description:
    Clean up compiler warnings, especially the 'FUNC' variable not used which
comes out in production mode.

Solution:
    Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API
functions which don't need the 'FUNC' variable defined.  (This will be _so_
much easier when C99 is standard on all our supposed platforms, since it has a
__FUNC__ macro... )

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor for h5committest (although there were lots of files changed, the
        change was minor in each one)
2003-12-06 15:38:31 -05:00
Quincey Koziol
1b1e1ebbbd [svn-r7915] Purpose:
Bug fix

Description:
    Make a copy of the index value for H5Giterate and use that instead of
dereferencing the index pointer.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to need h5committest
2003-12-06 09:57:06 -05:00
Albert Cheng
aaff647518 [svn-r7914] Purpose:
Regenerate the Dependencies files if needed.

Description:

Solution:

Platforms tested:

Misc. update:
2003-12-05 10:39:53 -05:00
Quincey Koziol
6d8dd9c504 [svn-r7875] Purpose:
Omnibus floating-point bug fix changes

Description:
    There are a number of problems in the floating-point conversion code that
were exposed by Ray's recent int<->float checkin:
    - The 'my_isnan' code in test/dtypes.c was broken and would always return
        true.  The meant that the actual values in the float<->float conversion
        tests were _never_ checked, hiding the other bugs included in this
        checkin.
    - A recent change I made to the type conversion code used "FLT_MIN" instead
        of "-FLT_MAX" for the most negative 'float' value for the double->float
        conversion, which meant that any the negative number that was converted
        from a double to a float would have been mapped to zero, essentially.
    - A change that Robb appeared to have made ~2.5 years ago to the "generic"
        float->float conversion routine appears to be incorrect and I've backed
        it out.
    - Floating-point conversions on SGI's which converted denormalized values
        would be mapped to zero instead of being propertly preserved in the new
        type.  This was addressed by an SGI-specific system call to prevent the
        behavior.

Solution:
    Described above, generally.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest

Misc. update:
    release_docs/RELEASE update forthcoming...
2003-11-24 11:47:18 -05:00
Quincey Koziol
2106568c9c [svn-r7873] Purpose:
Code cleanup

Description:
    Remove an unused typedef, fix a LONG->LLONG typo and use LLONG_MIN where
appropriate.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-21 16:58:04 -05:00
Quincey Koziol
59e9042d5a [svn-r7872] Purpose:
New macro

Description:
    Introduce LLONG_MIN macro to match LLONG_MAX macro

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-21 16:57:09 -05:00
Quincey Koziol
f749d46787 [svn-r7871] Purpose:
Code cleanup

Description:
    Make some functions static and remove unused variables, etc.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-21 15:13:17 -05:00
Raymond Lu
c1e333f006 [svn-r7868] Purpose: new feature
Description:  data type conversion between integers and float numbers.
              (Cover your ears.  It's going to explode.:)

Solution:       covers all native type conversion.  Mainly uses hardware
            conversion but handles overflow more gracefully.

Platforms tested: h5committest
2003-11-21 12:07:25 -05:00
Quincey Koziol
1619a308cb [svn-r7860] Purpose:
Bug fix

Description:
    Our previous "optimization" of metadata writing which only wrote metadata
from one process was abusing MPI-I/O and after some consultation with Rob Ross
and Rajeev Thakur, Albert & I have come up with a solution...

Solution:
    Instead of only writing from one process, issue a collective write
operation with all processes, for metadata writes.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-11-20 09:36:59 -05:00
Bill Wendling
e3a280a165 [svn-r7847] Purpose:
Bug Fix

Description:
    The SAP was sending back replies to the client but the client wasn't
    picking them up (this was after a dump from the server.

Solution:
    Read the extra replies from the server.

Platforms tested:
    AIX (w/ FPHDF5)
    Linux (w/ FPHDF5)
    Solaris (w/ Fortran & C++)

Misc. update:
2003-11-13 15:05:56 -05:00
Quincey Koziol
18c2554090 [svn-r7845] Purpose:
Bug fix.

Description:
    The new routines added for H5MM_[m|c]alloc were causing the function
stack code to infinitely recurse while allocating room for the thread-specific
information (when thread-safety was turned on).

Solution:
    Call HDmalloc directly instead of H5MM_malloc

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Changed are not tested in h5committest
2003-11-13 13:15:39 -05:00
Quincey Koziol
e1792ebb22 [svn-r7842] Purpose:
Bug fix

Description:
    Variable length strings and sequences with NULL pointers were not handled
by library, causing problems access the data.  This also affected fill values
for variable-length datatypes.

Solution:
    Address the issues in the library by detecting NULL sequences/strings
and avoid trying to convert them.

    Patched up dumper to display NULL sequences/strings.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-11-13 10:19:50 -05:00
Bill Wendling
680262645f [svn-r7838] Purpose:
Bug fix and File Addition

Description:
    - Fixed when reading from the file with FPHDF5. It wasn't recording
      how many bytes it read.

    - Added Arithmetic Transformation modules. These haven't been
      included into the HDF5 build. I just added them here for future
      porposes...

Solution:
    Added a call to "MPI_Get_count" to get the number of bytes read.

Platforms tested:
    Linux (w/ FPHDF5)
    AIX (w/ and w/o FPHDF5)

    FPHDF5-specific fixes...No need for H5committest

Misc. update:
2003-11-12 18:02:00 -05:00
Quincey Koziol
2668d2e5a3 [svn-r7836] Purpose:
Bug fix

Description:
    Add H5MMprivate.h header, to fix builds.

Platforms tested:
    Eyeballed it, too minor to require testing...
2003-11-12 15:19:39 -05:00
HDF Admin
834c8a06f3 [svn-r7831] Snapshot version 1.7 release 10 2003-11-09 03:06:07 -05:00
Quincey Koziol
0497e80b50 [svn-r7829] Purpose:
Bug fix & code cleanup

Description:
    Allowing the library to call malloc with a size of 0 bytes causes problems
for some users, so we check for allocations of 0 bytes and disallow them now.

    Cleaned up some code which could call malloc with 0 size.

    Changed some code calling HDmalloc directly to call H5MM_malloc(), which
allows us to check for 0 sized allocations.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-08 10:32:53 -05:00
Quincey Koziol
dd969f1ead [svn-r7827] Purpose:
Bug fix

Description:
    Make --disable-hsizet work properly again by fixing a couple of tests and
correcting the definition of SSIZET_MAX.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest not used, as it doesn't test this configuration.
2003-11-08 09:21:49 -05:00
Quincey Koziol
f809c2d352 [svn-r7826] Purpose:
Code cleanup

Description:
    Cleanup compiler warning by breaking apart the cast checking.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to need h5committest
2003-11-08 09:16:04 -05:00
Quincey Koziol
a1ee1c9190 [svn-r7824] Purpose:
Code optimization

Description:
    Improved integer & floating-point datatype conversions by removing some
corner cases.  Got rid of algorithm which walked the buffer of elements to
convert backwards, switching to algorithm which computes the non-overlapping
space in the buffer and repeatedly converts it in the forward direction.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
    Cray SV1 & T3E (T90 is not accessible)
2003-11-07 15:21:43 -05:00
Quincey Koziol
debbaac81d [svn-r7820] Purpose:
Bug fix

Description:
    Don't check the number of szip parameters set during the "can apply" and
"set local" callbacks, be safe about setting the parameters instead.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-06 08:43:02 -05:00
Quincey Koziol
3ddea291c6 [svn-r7818] Purpose:
Warning cleanup

Description:
    Make a parameter 'const' to clean up a warning during compiles.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-11-06 08:40:37 -05:00
HDF Admin
fd7fc53c9d [svn-r7807] Snapshot version 1.7 release 9 2003-11-02 03:07:05 -05:00
Bill Wendling
d677a77c4d [svn-r7805] Purpose:
Bug Fix

Description:
    The End of Address information needed to be kept by the SAP. Some
    processes were trying to get the EOA information in collective mode,
    but the action wasn't collective at the time.

Solution:
    Keep the EOA information for the file on the SAP. Clients query the
    SAP to get/set it when needed.

Platforms tested:
    Linux (w/ FPHDF5)
    Copper (w/o FPHDF5)
    (FPHDF5 specific, so no need for full testing)

Misc. update:
2003-10-31 16:46:58 -05:00
Quincey Koziol
0b8b8df0e0 [svn-r7803] Purpose:
Minor code cleanup

Description:
    Fixed up comments, made the H5I_get_file_id() routine static, removed
    H5Gprivate from including itself...

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-31 16:02:16 -05:00
Raymond Lu
7948d9eb26 [svn-r7801] Purpose: added feature
Description:  more feature to H5Iget_file_id().  If file ID is closed, it can
still return an ID given object ID.


Platforms tested: h5committest
2003-10-31 13:48:35 -05:00
Albert Cheng
5b5e7d4dac [svn-r7798] Purpose:
Bug fix

Description:
MPE color for new routine H5Iget_file_id is missing.

Solution:
Added it.

Platforms tested:
Only tested in copper since it is the only one that can do MPE.

Misc. update:
2003-10-30 17:52:57 -05:00
Quincey Koziol
967c5d5684 [svn-r7794] Purpose:
Code cleanup & simplification

Description:
    Replace [non-working] code in routine to build up an MPI derived type for
a hyperslab selection that was supposed to "flatten" out contigous blocks with
code that uses a selection iterator (which _does_ have working "flattening"
code).

    Remove "contiguous hyperslab" code for MPI selections as it is unnessary
now.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o parallel
    Linux 2.4 (verbena) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/64-bit
2003-10-30 16:38:16 -05:00
Quincey Koziol
90e269d552 [svn-r7789] Purpose:
Bug fix & code cleanups

Description:
    Change our use of MPI derived datatypes to not create datatypes with
"0-sized" lengths, which causes the LANL Q machine to hang.

    Also, get rid of "prefer MPI derived datatypes" environment variable since
it has no advantage.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o parallel
    h5committest
2003-10-29 14:32:36 -05:00
Quincey Koziol
bbe23c026f [svn-r7786] Purpose:
Code cleanup & add a feature

Description:
    Added support for querying the file ID of named datatypes to new
H5Iget_file_id function.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-29 13:27:37 -05:00
Raymond Lu
d1f7c81a46 [svn-r7784] *** empty log message *** 2003-10-29 12:04:58 -05:00
Quincey Koziol
10b6bab2ab [svn-r7767] Purpose:
Code cleanup

Description:
    Untwist the last few sections of code before starting on fixing the
problems with reading off the end of the file in earnest.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    FreeBSD 4.9 (sleipnir) w/parallel
    h5committest not necessary - parallel only changes
2003-10-28 10:33:56 -05:00
Quincey Koziol
f4240b2639 [svn-r7765] Purpose:
Code cleanup

Description:
    More collective/independent cleanups to straighten out code contortions.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    FreeBSD 4.9 (sleipnir) w/parallel
    Linux 2.4 (verbena) w/fortran & C++
    Solaris 2.7 (arabica) w/64-bit extensions enabled
2003-10-28 09:42:24 -05:00
Quincey Koziol
47c3791add [svn-r7763] Purpose:
Bug fix

Description:
    Code was using an internal DXPL with collective I/O turned on during
independent I/O operations to fill dataset on disk.

Solution:
    Switched to internal DXPL with independent I/O

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    FreeBSD 4.9 (sleipnir) w/parallel
    Linux 2.4 (verbena) w/fortran & C++
    Solaris 2.7 (arabica) w/64-bit extensions enabled
2003-10-28 09:40:09 -05:00
Quincey Koziol
99d8cfc971 [svn-r7759] Purpose:
Fix serial build

Description:
    I accidentally put the "use_par_opt_io" variable in an #ifdef PARALLEL
section.

Solution:
    Hoist it out of parallel section

Platforms tested:
    Eyeballed it - very trivial
2003-10-27 19:16:28 -05:00
Quincey Koziol
8a43391a11 [svn-r7754] Purpose:
Code cleanup

Description:
    Straighten out more goofiness in the MPI code dealing with collective I/O
transfers - mostly make certain that a view is set if-and-only-if collective
I/O is occurring on raw data (and vice versa for views and independent I/O)

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel & FPHDF5
    too minor to repquire h5committest
2003-10-27 16:38:27 -05:00
Quincey Koziol
014a25d052 [svn-r7746] Purpose:
Code cleanup

Description:
    Remove collective parallel I/O checking code, now that it's impossible to
get into this code with collective access enabled.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-27 13:18:08 -05:00
Quincey Koziol
618c36029c [svn-r7744] Purpose:
Code cleanup

Description:
    More refactoring on setup of MPI-IO parameters: hoisted the code to change
the transfer mode from collective to independent up into the H5D_read and
H5D_write routines, instead of duplicating it inside each of the chunk/contig
read/write routines.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-27 12:11:24 -05:00
Quincey Koziol
3c7887424f [svn-r7742] Purpose:
Code cleanup

Description:
    Clean up setup code for collective I/O transfers to make the logic more
obvious.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor for h5committest
2003-10-27 11:32:05 -05:00
HDF Admin
035991e5c0 [svn-r7739] Snapshot version 1.7 release 8 2003-10-26 02:02:15 -05:00
Quincey Koziol
8cf4b9c5e5 [svn-r7732] Purpose:
Bug fix

Description:
    Single hyperslab selections (which were set with only one call to
H5Sselect_hyperslab) that had dimensions that could be "flattened" but were
interspersed with dimensions that could not be flattened were not correctly
handled, causing core dumps.

Solution:
    Re-work "flattening" code to handle this case properly.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    h5committest
2003-10-25 11:09:59 -05:00
Quincey Koziol
d0be702428 [svn-r7725] Purpose:
Code cleanup

Description:
    Refactored handlier of VFL drivers in file access and data transfer property
lists in order to simplify and unify the code dealing with them.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-24 14:39:23 -05:00
Quincey Koziol
9d22c9e61a [svn-r7724] Purpose:
Bug fix

Description:
    Change "H5_HAVE_PARALLEL" to "H5_HAVE_FPHDF5" around VFL ID, to prevent
daily builds from failing.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    too specialized to require h5committest
2003-10-24 14:36:56 -05:00
Bill Wendling
5ca1036efe [svn-r7699] Purpose:
Bug Fix

Description:
    The owners and reference counts of locks weren't being handled
    correctly.

Solution:
    Allocate an array the size of the COMM FPHDF5 is invoked with for
    each lock. Then reference count within this array. Keep an extra
    "counter" to see how many different processes have this particular
    lock. Free the lock when that counter reaches zero.

Platforms tested:
    Linux & Copper (FPHDF5 specific).

Misc. update:
2003-10-22 16:16:21 -05:00
Bill Wendling
68fed88177 [svn-r7697] Purpose:
Bug Fix

Description:
    Was using HGOTO_ERROR within a "done:" block.

Solution:
    Changed HGOTO_ERROR macro to HDONE_ERROR inside of a done: block.

Platforms tested:
    Linux (Small change).

Misc. update:
2003-10-22 16:03:34 -05:00
Bill Wendling
ecf3e6dc45 [svn-r7696] Purpose:
Message Correction

Description:
    Uncapitalized the beginning of the error messages.

Solution:

Platforms tested:
    Linux (Very small change).

Misc. update:
2003-10-22 16:02:26 -05:00
Quincey Koziol
00d5fd8e2f [svn-r7682] Purpose:
Bug fix

Description:
    Remove the [duplicated] native C9x datatype initializatin code from H5T.c
and let the automatically generated code in H5Tinit.c handle initializing them,
if they are allowed by the compiler.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Linux 2.4 (verbena, eirene)
    probably should be h5committested, but it's late and I'm fairly certain
        this will fix the problem... :-/
2003-10-20 23:06:16 -05:00
Quincey Koziol
1b3954383f [svn-r7675] Purpose:
Bug fix

Description:
    Avoid "OPAQUE" symbol in template macro invocation, since it's already
defined as a macro on Windows.

Solution:
    OPAQUE -> OPAQ

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Windows ? (Pedro's machine :-)
2003-10-20 14:01:35 -05:00
Quincey Koziol
4257a5e1f8 [svn-r7674] Purpose:
Tweak comments.

Testing:
    Not necessary..
2003-10-20 12:19:40 -05:00
Quincey Koziol
71ec0f5777 [svn-r7669] Purpose:
Refactor code

Description:
    Use "template macro" technique to eliminate a huge amount of repeated code
in type initialization code (almost 1000 lines, between this change and the
changes to the H5Tconv.c file earlier).
    This centralizes the common parts of the code and makes the different parts
of the code more obvious.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-20 11:43:40 -05:00
HDF Admin
794b7d2a5a [svn-r7668] Snapshot version 1.7 release 7 2003-10-19 07:09:33 -05:00
Quincey Koziol
d73cd8e778 [svn-r7667] Purpose:
Optimize code

Description:
    Eliminate some computations from inner loop, giving about a 5% speedup.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to h5committest
2003-10-18 14:05:51 -05:00
Quincey Koziol
bf0266f2f6 [svn-r7666] Purpose:
Code cleanup

Description:
    Remove duplicated "core" conversion macros.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor for h5committest
2003-10-18 13:05:49 -05:00
Quincey Koziol
1ed056d24f [svn-r7665] Purpose:
Refactored code

Description:
    Switched float->double and double->int conversions to use new, more generic
conversion looping macros.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to require h5committest
2003-10-18 12:24:10 -05:00
Quincey Koziol
fea52b8d91 [svn-r7664] Purpose:
More refactoring

Description:
    Re-wrote inner loop of integer conversion routines with "psuedo-template"
macros, to hoist 'if-else's out of inner loop in an easy to understand way.

    This speeds up the integer type conversions by 15-20%.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-18 11:27:25 -05:00
Quincey Koziol
e6aed98f8f [svn-r7663] Purpose:
Code cleanup

Description:
    Re-wrote duff's device with some macro substitution to make algorithm more
obvious.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to require h5committest
2003-10-18 11:22:48 -05:00
Quincey Koziol
ece7defd50 [svn-r7662] Purpose:
Refactor integer conversion macros

Description:
    Turned integer conversion macros "inside" out, using an interlocking
macro technique similar to templates in C++.  The macro which actually performs
the conversion is now invoked "genericly" from inside another macro, which
will allow the inner conversion loop to be optimized in a much easier way.

    This "psuedo-template" technique could be useful for other semi-repetitious
patterns in the library - possibly the datatype initialization code...

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-10-17 22:20:26 -05:00
Quincey Koziol
eb878857a7 [svn-r7638] Purpose:
Code cleanup

Description:
    Clean up compiler warnings

Platforms tested:
    h5committest
2003-10-15 15:02:51 -05:00
Quincey Koziol
e2518919c9 [svn-r7626] Purpose:
Update dependencies and tracing information

Platforms tested:
    Linux 2.4 (verbena) w/FORTRAN
    too minor for h5committest
2003-10-14 10:46:38 -05:00
Quincey Koziol
324cd9d1e2 [svn-r7616] Purpose:
Code cleanup

Description:
    Change field member count and indices for compound and enumerated types from
'int' to 'unsigned' to better reflect actual use.

    Cleaned up a few other minor compiler warnings, etc.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Linux 2.4 (verbena)
    too minor to require h5committest
2003-10-13 14:31:33 -05:00
Quincey Koziol
6e9280392a [svn-r7614] Purpose:
Code cleanup

Description:
    More linting of the library.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Linux 2.4 (verbena)
    too minor to require h5committest
2003-10-13 14:26:04 -05:00
Quincey Koziol
0f4b144642 [svn-r7607] Purpose:
Bug fix

Description:
    Add MPE "color" for new H5Fget_freespace() API function.

Platforms tested:
    None - just eyeballed - too minor to require testing.
2003-10-13 12:34:45 -05:00
HDF Admin
d19001584b [svn-r7605] Snapshot version 1.7 release 6 2003-10-12 07:18:10 -05:00
Quincey Koziol
90fb9e2a77 [svn-r7595] Purpose:
Bug fix

Description:
    The 'char *' type is one of the "strongly" aligned types on Crays, but
a 'void *' is "weakly" aligned.  So, assigning a 'void *' (pointing to a
location to place a 'char *') to a 'char **' can change the pointer value
during the assignment.

Solution:
    Don't alias the 'void *' where the variable-length information ('char *'
or 'hvl_t') will go.  Use a temporary variable on the stack to build up the
information about the VL string or sequence and then memcpy() the temporary
variable directly to the location pointed to with the 'void *'

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray SV1 (wind)
    specific to Cray problems, h5committest not necessary.
2003-10-10 10:23:48 -05:00
Quincey Koziol
a310180c7f [svn-r7591] Purpose:
Bug fix

Description:
    Correct the size of the buffer needed for the destination value to use
the actual destination type size.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-10 09:55:58 -05:00
Quincey Koziol
8da2fafcec [svn-r7580] Purpose:
Bug fix

Description:
    The VL type conversion routine attempt to align it's destination buffer to
an offer that will work for both hvl_t and char * types, but the algorithm used
fails to work correctly on Cray machines.

Solution:
    Give up on attempting to align the buffer when it's allocated on the stack.
Just dynamically allocate it instead.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Cray SV1 (wind)
2003-10-09 11:52:12 -05:00
Quincey Koziol
48b4a56d93 [svn-r7572] Purpose:
Bug fix

Description:
    When too many messages were inserted into an object header, the library
had an internal pointer to the "new message" that was pointing to the incorrect
location when the array of messages was re-allocated.
    In the worst case, this could cause a file to be corrupted.

Solution:
    Update the internal pointer when the array is re-allocated.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Too small to require h5committest
2003-10-08 12:58:58 -05:00
Quincey Koziol
58c03f79fd [svn-r7561] Purpose:
Feature add

Description:
    Add a few new fields to the H5G_stat_t structure, to allow more information
about the object header to be retrieved.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-10-07 10:27:19 -05:00
Quincey Koziol
f766b32d07 [svn-r7559] Purpose:
Add feature

Description:
    Add H5Fget_freespace() routine, to check the amount of free space in a
    file.  This information is only valid until the file is closed currently,
    however (until we start recording the free space information in the file
    itself).

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-10-07 08:32:32 -05:00
HDF Admin
259247fc32 [svn-r7558] Snapshot version 1.7 release 5 2003-10-07 06:15:05 -05:00
Quincey Koziol
c708028588 [svn-r7553] Purpose:
Improved algorithm (bug fix, sorta)

Description:
    The internal algorithm for adding new IDs in the ID manager code (H5I) was
adding new IDs to the front of the linked list and never adjusting the order
of the items on the list (unless an ID was deleted).  If many new objects were
created, they would push earlier ones _way_ down the list (especially if the
objects were being leaked in the application, as they appear to be in the
current HDF-EOS5 library) and would cause O(n) search time for items on the
list.
    The ID caching code in the ID manager was avoiding this behavior sometimes,
but it was adding IDs that were looked up to the very tail of the cache and
they would frequently leave the cache before helping.

Solution:
    Implemented a "move to front" scheme for the linked list of IDs, which
improves the lookup situation for frequently accessed objects.

    Removed ID caching code now, as the "move to front" algorithm actually
works better.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-06 14:14:15 -05:00
Quincey Koziol
98dfa67e89 [svn-r7551] Purpose:
Bug/feature fix.

Description:
    Relax restriction on parallel writing to compact datasets to allow partial
I/O.

    Updates to reference manual mentioning the issues involved are delayed until
reference manual 'lock' is removed later this week.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-10-06 10:17:09 -05:00
Quincey Koziol
b8201120fc [svn-r7538] Purpose:
Bug fixes and code cleanup

Description:
    Lots of changes here:
        - Fixed bug #691 - when shared datatypes are used in attributes they
            are incorrectly copied into the attribute instead of referring
            the the named datatype in the file.  This required bumping the
            version of the attribute message.  The new version of the attribute
            message is only written out when a shared datatype is used in
            the attribute.  [Also, this format change made the size of the
            attribute smaller.]
        - Added information to attribute debugging routine so that shared
            datatypes are displayed correctly with the h5debug tool.
        - Refactored the H5O* routines to extract code that was common to
            several routines into subroutines to call.
        - Added 'link' method for H5O message sub-classes, which increments
            the link count on shared objects when a message is created which
            shares them.
        - Corrected [unreported] bug where the link count was not being
            decremented on the shared object when a object header message
            with a reference to that object was deleted from the file.
        - Reduced size of shared message from 49 bytes (which was incorrect
            anyway and should have been 48 bytes) to 10 bytes, which required
            bumping the version of "shared" messages.
        - Refactored some of the shared datatype routines to allow for easier
            queries of "committedness" internally to the library and also
            added routine to easily increment/decrement the reference count of
            a shared datatype.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-10-05 16:12:26 -05:00
Bill Wendling
94681179cc [svn-r7528] Purpose:
Bug Fix

Description:
    The FPHDF5 code couldn't create a dataset then access it. Turns out
    that the "O_find_in_ohdr" code was protecting the object header which
    pulls it into the cache then unprotecting it. However, this caused
    the cache entry to be blown away and THEN we'd try to reread the
    entry (via AC_protect) but it didn't have all of the data that the
    find_in_ohdr function decodes for us decoded. It was also kind of
    unnecessary since we can just protect then call O_find_in_ohdr.

Solution:
    Removed the AC_protect and AC_unprotect from O_find_in_ohdr. Called
    AC_protect before calling the O_find_in_ohdr function.

Platforms tested:
    Linux (Fortran, C++)
    IRIX (parallel, Fortran)
    Sun (Fortran)

Misc. update:
2003-09-30 13:55:08 -05:00
Quincey Koziol
c58d85f10e [svn-r7527] Purpose:
Code cleanup

Description:
    Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-09-30 11:20:46 -05:00
Quincey Koziol
c48165cb11 [svn-r7526] Purpose:
Fix typo in comment.

Description:
    Looks like a cut & paste error.

Platforms tested:
    None - just comment fixup
2003-09-30 10:27:35 -05:00
Raymond Lu
b997db6cdd [svn-r7519] Purpose:
Description:  add backward compatibility for thread safety.


Platforms tested: RH 8(fuss)
2003-09-29 11:23:15 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
HDF Admin
be77a044fe [svn-r7502] Snapshot version 1.7 release 4 2003-09-21 06:12:33 -05:00
Quincey Koziol
3752177106 [svn-r7498] Purpose:
Code cleanup

Description:
    Clean up various warnings and parameter mis-matches, etc.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to need h5committest
2003-09-19 15:13:47 -05:00
Bill Wendling
ce5a4cf6f3 [svn-r7495] Purpose:
Removed Dead Code

Description:
    Some of the FPHDF5 code was dead (I thought it'd be useful at one
    point, but was wrong).

Solution:
    Removed

Platforms tested:
    Linux (FPHDF5 specific. No need for h5committest)

Misc. update:
2003-09-19 14:27:17 -05:00
Quincey Koziol
e38803837f [svn-r7494] Purpose:
Bug fix

Description:
    Buffer for decoding superblock's driver information was too small when
using some VFDs (like the multi-file VFD).

    Also made FPH5 code more portable and obvious when it's broadcasting the
superblock from the captain process to the other clients.

Solution:
    Allocate the buffer for the driver information dynamicly

Platforms tested:
    Copper
    No h5committest because it's already working on other platforms.
2003-09-19 12:20:01 -05:00
Bill Wendling
f86cc0f1f4 [svn-r7491] Purpose:
FPHDF5 Update

Description:
    Added locking/unlocking to the AC_protect/AC_unprotect calls. The SAP
    does all of the caching so nothing should be saved on the client
    side. So, when the client unlocks the metadata, it can destroy it.
    The metadata is always read from the SAP during a lock.

Platforms tested:
    Linux (FPHDF5 specific change. No need for h5committest)
2003-09-18 16:54:13 -05:00
Bill Wendling
fec0297f86 [svn-r7489] Purpose:
Update

Description:
    A lot of modifications for the FPHDF5 stuff:

        H5AC.c
        H5ACprivate.h - Removed AC_find (it's replaced with AC_protect
        and AC_unprotect). Added flushing if it's an FPHDF5 driver and
        we're doing an AC_set or AC_unprotect with the dirty flag set.

        H5B.c - Split up the B_flush function into different functions
        since the one function was doing serialization which is better
        left as a separate entity.

        H5D.c - Removed some FPHDF5 code that was incorrect

        H5F.c - Split up the F_flush function so that it no longer
        allocates file space. Created new functions (F_init_superblock,
        F_read_superblock, and F_write_superblock) for greater modularity
        and so that the FPHDF5 non-captain processes can read the
        superblock after the captain process writes it.

        H5FD.c - Error message correction.

        H5FDfphdf5.c - Removed MPI barrier call that wasn't needed.

        H5FPclient.c
     	H5FPserver.c - Modified so that if a process requests data that
        isn't exactly aligned, we can return it if we have the block that
        contains the requested address.

        H5G.c
        H5Gent.c
        H5Gnode.c
        H5HL.c
     	H5HLpkg.h
        H5HLprivate.h
        H5Oefl.c - Removed the H5HL_peek function since it was doing a
        (now unsafe) holding of the information in the cache. Replaced
        with protect and unprotect calls.

        H5TB.c - Error fix. The TB_dless function wasn't working
        properly.

        H5Gstab.c - Format change.

        H5err.txt
        H5Edefin.h
        H5Einit.h
     	H5Epubgen.h
        H5Eterm.h - Added new error code.


Platforms tested:
    Modi4 (paralle, Fortran)
    Sol (Fortran)
    Linux (C++, Fortran)
    Copper (Parallel, Fortran)

Misc. update:
2003-09-18 14:27:27 -05:00
Quincey Koziol
a7ef15584e [svn-r7482] Purpose:
Bug fix

Description:
    The MPI_File_set_size() routine on ASCI Red is not able to extend files
so that they are larger than 2GB.

Solution:
    Add an extra macro which controls whether MPI_File_set_size() can handle
>2GB offsets or if our "older" way of reading a byte, then writing a byte at
the appropriate offset should be used.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-16 12:36:12 -05:00
Quincey Koziol
d7bde16f45 [svn-r7480] Purpose:
Bug fix

Description:
    The MPI_File_set_size() routine on ASCI Red is not able to extend files
so that they are larger than 2GB.

Solution:
    Add an extra macro which controls whether MPI_File_set_size() can handle
>2GB offsets or if our "older" way of reading a byte, then writing a byte at
the appropriate offset should be used.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-16 12:33:00 -05:00
Quincey Koziol
bf1c2f0e8b [svn-r7478] Purpose:
Bug fix

Description:
    H5Dwrite was only checking the "top level" of the datatype to stop parallel
I/O on variable-length datatypes.

Solution:
    Make checks "deeper".

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-16 12:25:49 -05:00
Quincey Koziol
26ebe5876b [svn-r7473] Purpose:
Code cleanup & optimization

Description:
    Split superblock initialization and space allocation out from writing
the superblock information to disk, which makes the code much cleaner and
easier to understand and also allows FPHDF5 to have a fully completed superblock
to Bcast to other (non-caption) processes.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2003-09-15 13:09:09 -05:00
HDF Admin
fb44f88bc6 [svn-r7472] Snapshot version 1.7 release 3 2003-09-14 05:50:14 -05:00
Bill Wendling
543c958928 [svn-r7471] Purpose:
Update

Description:
    The F_open and F_flush functions had a lot of cruft in them. The
    F_flush was being used as a way to allocate the superblock. The
    F_open had a bunch of code in there to read and serialize the
    superblock.

Solution:
    Moved these out into their own functions.

Platforms tested:
    Modi4 (parallel, Fortran)
    Copper (parallel, Fortran)
    Verbena (Fortran, C++)
    Sol (Fortran)

Misc. update:
2003-09-12 18:10:22 -05:00
Quincey Koziol
965a4cd7c9 [svn-r7468] Purpose:
Code cleanup, etc.

Description:
    Generalize Ray's datatype fixes to handle packing compound datatypes which
are the base type of an array or variable-length type, etc.

    Also track "packedness" of a compound datatype from it's creation, instead
of only setting the 'packed' flag after the datatype was explicitly packed.

    Updated docs to reflect that a compound datatype is allowed to grow (but
not shrink).

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-11 23:35:48 -05:00
Quincey Koziol
987e281c8a [svn-r7467] Purpose:
Code cleanup

Description:
    Patch up a few places where the metadata cache could ask for a read lock
instead of a write lock and other minor code cleanups.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too minor to need h5committest

Misc. update:
2003-09-11 11:45:54 -05:00
Raymond Lu
81c6851965 [svn-r7461] Purpose: bug #1017
Description: H5Tpack fails if called twice or datatype is locked.  Compound
datatype wasn't expandable.


Platforms tested: h5committest
2003-09-10 17:59:00 -05:00
Bill Wendling
1f5e8c2e63 [svn-r7460] Purpose:
Update

Description:
    Added extra parameter to the H5AC_protect() function that indicates
    if the cache being asked for is going to be written to or just read
    from. Those AC_protect calls that were H5AC_find calls are now
    read-only. The rest are writes.

Platforms tested:
    Linux (h5committest not needed due to size and small impact)

Misc. update:
2003-09-10 15:06:10 -05:00
Quincey Koziol
6a9188f0cb [svn-r7457] Purpose:
Bug fix.

Description:
    Correct bug where a file opened twice, once with read-write permission
and once with read-only permission would cause closing the file with the
read-only file ID to fail because it was trying to flush information out
of the file.

Solution:
    Check the permissions on file IDs that are being closed and only flush
when the particular file ID was opened with write permission.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to need h5committest

Misc. update:
2003-09-10 13:32:28 -05:00
Bill Wendling
6d928cf05e [svn-r7456] Purpose:
Removal of H5AC_find()

Description:
    The H5AC_find() function is mostly redundant and with the new
    Flexible Parallel HDF5 stuff, we need to do locking on metadata
    returned from the H5AC_find() anyway. So, all of the locking stuff
    will be placed in the H5AC_{un}protect() functions. The H5AC_find()
    is no longer needed.

Solution:
    Replaced all H5AC_finds with H5AC_protects and H5AC_unprotects.

Platforms tested:
    Linux (Fortran & C++)
    Solaris (Fortran)
    Irix (Parallel & Fortran)

Misc. update:
2003-09-10 12:05:19 -05:00
Quincey Koziol
14f7f3e53d [svn-r7453] Purpose:
Checkpoint file format spec.

Description:
    Clarifications and cleanups related to file format review.
2003-09-10 10:31:11 -05:00
Quincey Koziol
b0d47e55f7 [svn-r7446] Purpose:
Code cleanup/bug fix

Description:
    Move metadata cache calls around a bit so they protect the usage of the
metadata better.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to need h5committest
2003-09-06 13:54:16 -05:00
Bill Wendling
bd34662948 [svn-r7445] Purpose:
Fix, of a sort

Description:
    Some of the code would get an object from the cache via the
    H5AC_find() function and then modify the returned object. This
    behavior is incorrect as the pointer returned via the H5AC_find()
    function is supposed to be read only.

Solution:
    Changed the H5AC_finds to H5AC_protect() instead and added the
    appropriate H5AC_unprotect() function.

Platforms tested:
(simulated h5committest by hand since it doesn't work for me)
    Linux (Fortran, C++)
    Solaris (Fortran)
    AIX (Fortran, C++)
    SGI (Parallel, Fortran)
2003-09-04 16:43:37 -05:00
Quincey Koziol
8563750908 [svn-r7444] Purpose:
Code cleanup

Description:
    More de-linting

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    Too small to need h5committest
2003-09-04 09:40:21 -05:00
Quincey Koziol
303d35202a [svn-r7441] Purpose:
Bug fix

Description:
    The VFL driver ID in a file's access proprty list wasn't being reference
counted correctly, causing the VFL driver to get prematurely closed after
several calls to "H5Pget_access_plist->H5Pclose".

Solution:
    Increment VFL driver ID reference count when copy of file's access property
list is made in H5Pget_access_plist()

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-09-03 21:04:45 -05:00
Quincey Koziol
8c174d260d [svn-r7440] Purpose:
Code cleanup

Description:
    More de-linting...

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to need h5committest
2003-09-03 12:05:23 -05:00
Quincey Koziol
32a666f652 [svn-r7438] Purpose:
Code cleanup

Description:
    More de-linting...

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to need h5committest
2003-09-02 10:04:36 -05:00
HDF Admin
38d6179b31 [svn-r7436] Snapshot version 1.7 release 2 2003-08-31 03:33:11 -05:00
Quincey Koziol
f92d7f73df [svn-r7434] Purpose:
Bug Fix and code cleanup

Description:
    Correct error in H5T_detect_class that was causing nested compound datatypes
with to not detect the datatype class of fields correctly, which caused errors
with fill-values, variable-length datatypes and chunks later on.

    Return the rank of the array datatype from H5Tget_array_dims(), like
H5Sget_dims().

    Lots of cleanups to datatype code, to make the handling of arrays, compound
types, variable-length strings and sequences and enumerated types more
consistent and robust.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2003-08-30 20:48:01 -05:00
Quincey Koziol
00b7830ec5 [svn-r7431] Purpose:
Code cleanup

Description:
    De-linted more code.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    too small to need h5committest
2003-08-29 08:59:42 -05:00
Quincey Koziol
93bc31f6a0 [svn-r7428] Purpose:
Code cleanup

Description:
    De-linted more code

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to need h5committest
2003-08-28 11:30:51 -05:00
Quincey Koziol
a3888a3b00 [svn-r7426] Purpose:
Bug fix

Description:
    When datasets are deleted from a file, they are removed from the sieve
buffer, but instead of invalidating only the part of the sieve buffer affected,
the sieve buffer code would throw away the entire sieve buffer, potentially
including other raw data in the buffer that hadn't been written to disk yet.

Solution:
    Improve the sieve buffer clearing code to handle partial invalidations.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-28 11:02:21 -05:00
Quincey Koziol
b259ca6f86 [svn-r7417] Purpose:
Code cleanup

Description:
    De-linted more code.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to need h5committest
2003-08-27 09:00:50 -05:00
Quincey Koziol
4bb0d2d299 [svn-r7415] Purpose:
Code cleanup

Description:
    Clean up some of the code for writing out dataspace and datatype
information.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small to need h5committest
2003-08-26 15:15:47 -05:00
Quincey Koziol
438248d01d [svn-r7412] Purpose:
Bug fix

Description:
    H5Gget_objname_by_idx should allow NULL for the 'name' parameter, to allow
for querying for the name's length.

Solution:
    Allow NULL for the 'name' parameter, the internal functions were already
ready to handle that case.

    Clean up RM information about H5Gget_objname_by_idx and
H5Gget_objtype_by_idx also.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-26 13:35:37 -05:00
Quincey Koziol
7e9c4449d4 [svn-r7411] Purpose:
Code cleanup

Description:
    De-linted more modules

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/ & w/o stream enabled
    too minor to require h5committest
2003-08-26 10:03:03 -05:00
Albert Cheng
c1b11ba3c4 [svn-r7410] Purpose:
Bug fix.

Description:
Added MPE color definintions for the Stream-vfd  API.

Platforms tested:
Tested in Copper since MPE only works there.
2003-08-25 18:17:47 -05:00
Quincey Koziol
73608d3f90 [svn-r7406] Purpose:
Bug fix

Description:
    Correct bug creating native versions of "complex" compound datatypes
    on certain architectures (Sparc-Solaris) which require stricter alignment.

    Also, correct bug where metadata (padding type, etc.) for strings was
    incorrectly dropped.


Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-25 15:09:18 -05:00
Quincey Koziol
b987255ed0 [svn-r7404] Purpose:
Bug fix

Description:
    Correct problem with mis-aligned string pointers on certain architectures
    (i.e. on modi4) causing a core dump.  The string pointers can be mis-aligned
    due to being part of a compound datatype and how our compound type conversion
    routines work.

Solution:
    Allocate string with temporary variable and memcpy() the pointer to the
    new string into the type conversion buffer, instead of dereferencing the type
    conversion buffer directly.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-25 15:05:42 -05:00
Quincey Koziol
f841a94242 [svn-r7398] Purpose:
Code cleanup

Description:
    De-linted more code

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to require h5committest
2003-08-25 14:15:41 -05:00
HDF Admin
a532b1814e [svn-r7397] Snapshot version 1.7 release 1 2003-08-24 03:42:43 -05:00
Albert Cheng
74e4b2ea49 [svn-r7395] Purpose:
Bug fix

Description:
MPE color definitions were missing for new API.

Solution:
Updated it.

Platforms tested:
Tested by hand in Copper since that is the only place that
MPE option works currently.

Misc. update:
2003-08-24 00:58:58 -05:00
Quincey Koziol
2eee483e9b [svn-r7393] Purpose:
Code cleanup

Description:
    De-linted more code

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/parallel
    too minor to require h5committest
2003-08-23 10:55:06 -05:00
Quincey Koziol
57993b61d3 [svn-r7391] Purpose:
Bug fix

Description:
    H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx were
only accepting a group ID, instead of a location ID, as our documentation for
them stated.

Solution:
    Allow them to accept a location ID.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-08-22 08:50:01 -05:00
Quincey Koziol
28f555604c [svn-r7387] Purpose:
Code cleanup

Description:
    More de-linting

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small to need h5committest
2003-08-21 13:24:28 -05:00
Quincey Koziol
942db93227 [svn-r7386] Purpose:
Code cleanup & bug fix

Description:
    More de-linting...

    Also correct a bug that lint exposed which was incrementing the incorrect
driver ID of a file driver and also no saving the correct driver ID for the
newly opened file.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor for h5committest
2003-08-20 12:49:13 -05:00
Quincey Koziol
9c020d5bd3 [svn-r7384] Purpose:
Code cleanup

Description:
    More linting...

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to need h5committest
2003-08-19 09:44:45 -05:00
Quincey Koziol
c6ed9cbbae [svn-r7383] Purpose:
Bug fix

Description:
    I/O on chunked datasets with a scalar dataspace for the memory dataspace
was not working correctly.

Solution:
    Translate the scalar dataspace into a n-dimensional (where n is the number
of dimensions of the file's dataspace) dataspace of dimensions 1x1x1...

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest (modulo modi4 which is not working correctly)
2003-08-19 07:18:37 -05:00
Quincey Koziol
9881fa7e34 [svn-r7381] Purpose:
Code cleanup

Description:
    Various cleanups resulting from running lint tool over H5F.c source module

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to require h5committest
2003-08-18 11:34:27 -05:00
Quincey Koziol
79a96d6a1e [svn-r7380] Purpose:
New error

Description:
    Added H5E_CANTCLOSEOBJ error

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor to need h5committest
2003-08-18 11:32:03 -05:00
Quincey Koziol
4105dfedb9 [svn-r7379] Purpose:
Code cleanup

Description:
    Changed version #'s returned from H5Pget_version from 'int *' to
'unsigned *' since we are never going to be using negative version #'s... :-)

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small to need h5committest
2003-08-18 11:29:33 -05:00
Quincey Koziol
d99164a9ed [svn-r7377] Purpose:
Bug fix

Description:
    Linking and unlinking objects with multiple internal and/or trailing '/'s
was not handled well in the library.

Solution:
    "Normalize" strings by removing trailing '/'s and collapsing multiple
internal '/'s down into just one '/' before operating on the name.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committested
2003-08-16 13:54:40 -05:00
Quincey Koziol
3a9da6ae38 [svn-r7375] Purpose:
Clean up Pablo masks

Description:
    H5E.c - Moved Pablo mask definition above include files, so it affects
        inline functions properly.

    H5FDstream.c - Added Pablo mask definition to address daily build failures.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor for h5committest
2003-08-15 15:18:44 -05:00
Quincey Koziol
f05f3a33a5 [svn-r7374] Purpose:
Added comment.

Description:
    Call to MPI_Barrier should be unneccessary.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too minor for h5committest

Misc. update:
2003-08-15 15:08:42 -05:00
Quincey Koziol
2e4c7f1107 [svn-r7373] Purpose:
Code cleanup

Description:
    Cleanup H5Pclose code and also switch a few internal users of H5Pclose
to use H5I_dec_ref instead.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small for h5committest
2003-08-15 15:07:18 -05:00
Quincey Koziol
2147a97e4b [svn-r7372] Purpose:
Added some comments, etc.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too trivial for h5committest
2003-08-15 11:58:36 -05:00
Quincey Koziol
d33b9de7a7 [svn-r7371] Purpose:
Revert erroneous comment
2003-08-15 11:55:58 -05:00
Quincey Koziol
a309361388 [svn-r7370] Purpose:
Code cleanup & commentary

Description:
    Add comments to the recent FPHDF5 additions to this file to describe why
the changes shouldn't be in this file and attempt to find the proper home for
them.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    just comments mostly, no need to run h5committest
2003-08-15 09:48:38 -05:00
Quincey Koziol
da1e2ca089 [svn-r7369] Purpose:
Bug fix

Description:
    The metadata cache 'destroy' callback routines need the file handle in
order for certain callback routines (currently just the H5HG one) to perform
extra cleanups.  The recent change to call the 'destroy' callback from the
'clear' callback omitted this parameter.

Solution:
    Add the file handle to the metadata cache 'clear' callbacks.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    too small to need h5committest
2003-08-15 09:45:02 -05:00