| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
Dimension permutations for array datatypes were being skipped over when
datatype information was read from the file (because they aren't used
anywhere in the library currently), but this could cause problems in the
future when they are used for something.
Solution:
Read them in anyway, even if we aren't using them yet.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Found more "Have_foo" usage and converted them to "H5_HAVE_foo"
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
| |
Code Cleanup
Description:
Removed unused variable.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
When writing data and the dataset needed to be extended, the write call
ended up using the old dataspace extents (prior to the dataspace extend)
and bad parameters would get into the I/O channel, eventually causing it
to dump core.
Solution:
Every time a dataset is extended, throw away the previous dataspace
information and re-retrieve it.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
| |
* 2000-11-10 Robb Matzke <matzke@llnl.gov>
Changed `class' to `cls' in various places
since the former is a C++ reserved word and some C compilers (like
the one on blue) complain.
|
|
|
|
|
|
|
|
| |
* 2000-11-10 Robb Matzke <matzke@llnl.gov> (H5P_copy)
Changed `class' to `cls'.
* 2000-11-10 Robb Matzke <matzke@llnl.gov> (H5P_close)
Changed `class' to `cls'.
|
| |
|
| |
|
|
|
|
|
| |
* 2000-11-10 Robb Matzke <matzke@llnl.gov>
Updated API tracing calls.
|
|
|
|
|
|
|
| |
* 2000-11-10 Robb Matzke <matzke@llnl.gov> (H5FD_close)
Removed code that resets the H5FD_t
file structure to zero because that struct has already been
freed. This fixes a core dump on some platforms.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added new function.
Description:
It's often convenient to query the class of a compound datatype's member
to determine if it's an array and the previous way required you to open
the member type to query it's class.
Solution:
Added new H5Tget_member_class function to directly ask for the member type's
class.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New Feature
Description:
Added array datatype to library. See documentation at:
http://hdf.ncsa.uiuc.edu/HDF5/planning/DP/ArrayType.html
for complete details on the impact to the library.
Solution:
Changes to the base library include removing the ability of compound
datatype fields to be an array (they can use an array type for the field,
to duplicate the functionality) and adding in the new array datatype
everywhere appropriate. (I hope :-)
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
| |
Regenerated
Description:
Just regenerated the H5config.h.in file with the newest changes
from Thomas.
|
|
|
|
|
|
|
|
| |
Purpose:
Bugfix.
Description:
Renamed the H5_HAVE_STRUCT_SOCKLEN_T into H5_HAVE_SOCKLEN_T
because it isn't really a structure.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bugfix
Description:
Rename the [H5_]HAVE_STRUCT_SOCKLEN_T into [H5_]HAVE_SOCKLEN_T.
Solution:
As pointed out by Bill the socklen_t type isn't a structure if
is it defined by the system headers.
So we should better take out the _STRUCT_ from the defines.
Platforms tested:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bugfix
Description:
The socklen_t was hardcoded to be defined as int on architectures
other than Linux and SUN (Solaris).
Now it turned out that Solaris isn't consistent in this manner.
Versions earlier than 2.7 do not define this type.
Solution:
Check at configure time whether the socklen_t type is defined
by the system header includes. If not than this type is defined
to be 'int'.
Platforms tested:
Solaris 2.6 and 2.7
Linux
IRIX64
Windows NT (command line configure with both cl abd gcc)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bugfix
Description:
Added defines for HAVE_SYS_TYPES_H, HAVE_SYS_SOCKET_H, and HAVE_STRUCT_SOCKLENT_T.
Platforms tested:
Solaris 2.6 and 2.7
IRIX64
Linux
Windows NT (command line configure with gcc and cl)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bug fix.
Description:
The names of some entries did not correspond with the names in the
FUNC_ENTER macro. This would cause inaccuracies during Pablo tracing.
Solution:
The names were changed in FUNC_ENTER to agree with the entry names.
Platforms tested:
Solaris, Irix, AIX, HP Vclass
|
|
|
|
|
|
| |
* 2000-11-07 Robb Matzke <matzke@llnl.gov> (H5F_istore_preempt)
Returns error if call to
H5F_istore_flush() failed.
|
|
|
|
|
| |
* 2000-11-07 Robb Matzke <matzke@llnl.gov>
Reindented a couple of comments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Fix typos in these files.
Description:
In the functions H5Pset_apl_xxx in these files, the parameters of
FUNC_ENTER do not match the function names. So changed them back
to function names.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
No test has been done because these are all typos, no effect on
program.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
Selections in 1-D dataspaces would get into an infinite loop in
H5S_hyper_select_iterate_mem_opt (called by H5Diterate and
H5Dget_vlen_buf_size) due to some incorrect logic.
Solution:
Handled 1-D cases correctly and get out of loop.
Platforms tested:
Eyeballed...
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bugfix
Description:
Large data files were truncated at the receiver's side.
Solution:
Check against EWOULDBLOCK when sending the data and retry.
Platforms tested:
T3E (other platforms had no such problem).
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
Some of the HRETURN types were incorrect. They were NULL when
they should have been FAIL.
Solution:
Changed the NULLs to FAILs.
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bug fix
Description:
H5FD_close() wiped clean the public information before
closing the FD. This caused problem to the lower level
close() which wants to verify it has indeed handed a valid
file-driver to close because that information is wiped out
prematurely.
Solution:
Moved the public information part cleaning after it is closed.
H5FDmpio.c:
Added in a bunch of assertion to make sure the file handle is indeed
an MPIO file.
Platforms tested:
IRIX64 -64 parallel
|
|
|
|
| |
Updated API tracing calls
|
|
|
|
| |
Updated API tracing calls.
|
|
|
|
| |
Updated API tracing calls.
|
|
|
|
|
|
|
| |
* 2000-10-31 Robb Matzke <matzke@llnl.gov> (H5F_dest)
Do not call H5FL_FREE() if the root group
object is null. This fixes a bug in h5ls when that tool is given
a file which is not an hdf5 file.
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
There is typo in the H5D_write function which reported the
optimized write failure as a H5E_READERROR.
Solution:
Replaced it with the correct H5E_WRITEERROR code.
Platforms tested:
modi4 parallel (compiled H5D.o only).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Detect whether the system has the netinet/tcp.h header file.
Description:
The Stream VFD uses setsockopt(2) to set TCP_NODELAY on an opened
socket. This constant is defined normally in netinet/tcp.h
except for GNU cc under Windows where this header doesn't exist.
This template header file just contains the
#undef HAVE_NETINET_TCP_H
Platforms tested:
Windows NT, GNU cc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Port to Windows platform
Bug fix
Description:
The Stream VFD is ported to Windows now.
Also fixed a bug where an application terminated when it got a SIGPIPE
due to sending/receiving on a closed socket.
Solution:
The socket stuff is treated different under Windows when using
the MS compilers to build HDF5. They define their own socket datatype
and have closesocket() instead of close(2) to close sockets.
Also there are different header files for all the socket stuff.
So I introduced my own socket decriptor datatype in H5FDstream.h
which should be used to pass in external sockets. This datatype
is mapped to either 'int' (UNIX-type sockets) or 'SOCKET' (Windows).
In the code the error code checking was adapted according to the
socket datatype used. Also, for Windows you have to call a routine
to initialize the Socket layer before using it.
As a kind of bug fix, the process signal mask is now set to ignore
SIGPIPE signals which otherwise cause the application to terminate.
The driver read/write routines catch this and return an error code.
Platforms tested:
Windows NT, both with MS Visual C++ compiler and with GNU cc
It is interesting that when compiling with GNU cc under Windows
it is possible to use both Windows and UNIX-type sockets (either
one or the other). So I check for GNU cc and go for UNIX sockets
if possible.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Forgot to decrement the number of objects in the group when removing
each one...
Solution:
Decrement the ID count when successfully removing each object from a
group.
Platforms tested:
None yet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Fixed a very subtle bug that was corrupting the objects in a group when
H5I_clear_group was called and not all the objects in the group were able
to be cleared.
Solution:
Track whether an object as been deleted from each hash location's linked
list and only destroy the list when all the objects on the list are
actually removed.
Platforms tested:
None yet.
|
|
|
|
|
|
|
|
|
|
| |
Code optimization
Description:
Minor tweaks throughout the optimized regular hyperslab code to increase
speed. This set of improvements increase the benchmark time from taking
~5.46 seconds to ~4.50 seconds, or around a 20% further speedup.
Platforms tested:
Solaris 2.6 (baldric)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Recent changes to H5FD_read() added a new argument of type of
data to be written but the MPIO file driver call to H5FD_read()
was not updated. Also, the prototype of H5FD_read() in H5Fprivate.h
was "screened out", thus the compiler could not detect the inconsistency.
With the mismatched arguments, MPIO failed badly.
Solution:
Update the H5FD_read() call with the new parameter. Since the
call is used by H5Dread call so far, it is hardcoded to use
H5FD_MEM_DRAW as the value. If the call is used besides for
H5Dread, this parameter needs to be better defined.
(Still need to fix the prototype being blocked off.)
Platforms tested:
O2K -64 parallel.
|
|
|
|
|
|
|
|
|
|
| |
Feature symmetry
Description:
A while ago I needed to get the 'type' of data being accessed during writes
to the VFL driver, so I put in code to get the information down there.
Albert asked for the same information during reads, so I've added that in.
Tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
| |
Increase constant for H5S_MAX_RANK from 31 -> 32
Description:
To better align the HDF5 library's maximum dimenions with HDF4 and netCDF,
the maximum number of dimensions has been increased to 32.
Platforms Tested:
FreeBSD 4.1.1 (hawkwind)
Solaris 2.5 (baldric)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
When the maximum number of elements in a fixed size, free-list managed array
was allocated, the free-list code was writing off the end of the array.
Solution:
Changed definition of free-list managed arrays to allocate correct space for
the array.
Platforms tested:
Solaris 2.5 (baldric) w/Purify
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Optimization for parallel I/O
Description:
When contiugous hyperslabs are defined (i.e. with the block=stride), the
library was only aggregating the hyperslabs together for the fastest
changing dimension.
Solution:
Add some extra code to detect when contiguous hyperslabs span more than one
row and output the entire contiguous section at once.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
There's been a compiler warning about modifying a 'const' object in the
H5T_copy routine for several years now, which a few users have reported.
Solution:
Removed call to sort the old datatype (the const object) and changed the
code to work with unsorted datatypes.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
"Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved in
the datatype object header message correctly.
Solution:
Store endian-ness and precision in the datatype object header message and
added test to continue to track them working correctly.
This fixes bug #512.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
H5Sget_simple_extent_npoints return type is hsize_t and the error value is
0, but it is possible to have 0 points in a dataset with an unlimited
dimension, but no data written yet.
Solution:
Changed H5Sget_simple_extent_npoints return type to hssize_t and the error
value to -1
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix (bug #446)
Description:
H5Tget_offset return type was size_t and the error return value was 0, but
0 is also a valid successful return value.
Solution:
Changed the return type to int and the error return value to -1
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
Previously, it has been possible to dereference deleted objects in a file.
Obviously, this is incorrect and could cause all sorts of problems if the
object being dereferenced had been partially over-written with other
information. - This is documented in Bug #493.
Solution:
Check the link count for objects being dereferenced and don't allow any
objects with link counts of zero to be dereferenced.
This fixes bug #493.
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Just add a few lines so that it will not break windows platform.
Description:
netdb.h cannot be recognized by windows, use winsock.h in windows instead.
Solution:
adding the following lines at the beginning of H5FDstream.c.
If you don't like, you may do it in another way, just keep it work for windows.
#ifdef WIN32
> #include <winsock.h>
> #else
> #endif
Platforms tested:
I am only testing whether it will bother building objects on windows. I haven't tested whether it
will affect the testing results. Hopefully not.
windows 2000, eirene,arabica,gondolin,paz,opus.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Parallel Bug Fixes
Description:
Was out of sync with header file re-arrangements I checked in last night.
Solution:
Fixed to use new header files, etc.
Platforms tested:
O2K (modi4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
When parallel I/O is turned on, there were some macros used in the H5D
routines which poked around in the H5F_t structure. This breaks the
privacy of that structure and ties the H5D code too tightly to the H5F_t
struct.
Solution:
Added a small function to retrieve the the value (driver_id) needed from
the H5F_t function.
Platforms tested:
Eyeballed only, Albert needs this right away...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Maintainance & performance enhancements
Description:
Re-arranged header files to protect private symbols better.
Changed optimized regular hyperslab I/O to compute the offsets more
efficiently from previous method of using matrix operations.
Added sequential I/O operations at a more abstract level (at the same level
as H5F_arr_read/write), to support the optimized hyperslab I/O.
Platforms tested:
Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fiX
Description:
H5S_hyper_select_valid would report hyperslab invalid if the one of
the count values is zero. The verifying algorithm did not take into
consideration that block or count can contain zeros to indicate no
element is wanted.
Solution:
Added code to test if block or count is zero. If so, skip the rest
of the validity check.
Platforms tested:
IRIX64 -64.
|