Description:
Removed sys/uio.h dependency, which was originally added to clean up compiler warnings. It is no longer needed, and needs to be removed to compile on mingw, which doesn't have this header.
Tested:
kagiso, duty, mingw
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Code cleanup
Description:
Change some variables that are keywords in C++ to non-keywords.
Platforms tested:
FreeBSD 4.8 (sleipnir)
too minor to require full h5committest
Bug Fix
Description:
On HP-UX platforms, the "open()" function needs to specify that the
file being created has permissions S_IRWXU, which means that it gives
read/write/execute permissions to the user who created the file (how
nice of it!).
Solution:
Added the S_IRWXU flag to the open() function call.
Platforms tested:
HP-UX 11
Arabica,
Modi4,
Verbena
Misc. update:
Code Improvements/Bug Fixes
Description:
Comparison of equality of a double/float variable to 0.0 is not
guaranteed to work and is bad practice.
Solution:
Test that the absolute value of the variable is < a very small
positive number.
Platforms tested:
Modi4 (Parallel & Fortran)
Verbena (C++ & Fortran)
Arabica (Fortran)
Misc. update:
Bug Fix
Description:
The "mkstemp()" function isn't as portable as I hoped it would be (it
fails on Crays and other beasts).
Solution:
Removed and just use a fixed filename instead.
Platforms tested:
Linux
Solaris w/ zlib
Irix w/ zlib
Misc. update:
Code cleanup
Description:
Various code cleanups to allow the development branch to be compiled with
a C++ compiler (i.e. CC=g++ )
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) C++
Code cleanup
Description:
Cleaned up more compiler warnings...
Platforms tested:
FreeBSD 4.6 (sleipnir) w and w/o parallel
Linux 2.2.x (eirene) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN & parallel
Update, Bug Fix, and Feature Add
Description:
- Updated how AC_{ENABLE,WITH} help messages were being generated.
Autoconf now gives you an AC_HELP_STRING macro to use to create
them.
- Fixed the problem with Linux LFS on RedHat 7.3 machines. It wasn't
finding getdents64(), so we can't rely on that being present
anymore...
- Added GPFS detection and setting.
- Updated how compression is specified. It's no longer necessary to
test for HAVE_ZLIB_H, HAVE_LIBZ, and HAVE_COMPRESS2. The one macro
{H5_}HAVE_COMPRESSION takes care of all of these.
Solution:
Changed the check for Linux LFS from looking for getdents() to
looking at the version number of the kernel (using the uname -r
command). You can still override with the --enable-linux-lfs switch
if you really believe that your <2.4 kernel has LFS support.
Platforms tested:
Linux (2.2 and 2.4)
Feature Add
Description:
Allow you to specify the percentage you'd like a random buffer to be
compressible. It can go from 0% (non-compressible) to 100%
(completely compressible).
Platforms tested:
FreeBSD
Feature Add
Description:
Use the /dev/urandom device for random data if it's available. (That
is stat() doesn't return a -1 when ran on it). Use random() otherwise.
Platforms tested:
Linux, FreeBSD
Bug Fix
Description:
The test for compression needed to be reversed.
Solution:
Instead of "!(defined...) used just "(defined..."
Platforms tested:
Modi4
Bug Fix
Description:
Not all platforms have zlib. This shouldn't be compiled then.
Solution:
ifdef-ed the code out if the zlib wasn't specified.
Platforms tested:
Linux
Feature Update
Description:
It now writes an uncompressed version of the file out. The first
tests didn't look all that wonderful. Here is a typical output:
Buffer size == 1MB
Uncompressed Write Time: 0.55s
Uncompressed Write Throughput: 116.00MB/s
Compressed Write Time: 8.76s
Compressed Write Throughput: 7.31MB/s
Platforms tested:
Linux
Compress I/O Test Add
Description:
This is the initial check-in of the compress I/O test. It will write
out compressed buffers to a file.
I need to implement a write of uncompressed data first for
comparison...
Platforms tested:
Linux