summaryrefslogtreecommitdiffstats
path: root/src/H5FDdirect.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r19146] Purpose: Fix bug in direct IO driverNeil Fortner2010-07-281-80/+153
| | | | | | | | | | | Description: In certain circumstances, the direct I/O driver did not perform correctly when data was unaligned. The driver has been patched to fix this. Also added some potential performance improvements for the unaligned case, and strengthened the test for whether the data needs to be aligned. Tested: cobalt
* [svn-r18650] Description:Quincey Koziol2010-04-271-1/+1
| | | | | | | | | | | | | | | | | | | Bring back various minor tweaks & cleanups from the revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r16560] Description:Quincey Koziol2009-03-101-2/+3
| | | | | | | | | | Remove another call to H5E_clear_stack() from within the library. Clean up lots of compiler warnings. Tested on: Mac OS X/32 10.5.6 (amazon) (followup on other platforms forthcoming)
* [svn-r15861] Description:Quincey Koziol2008-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Various bug fixes & cleanups with VFDs and file free space changes, along with cleaning up compiler warnings. Enable more VFDs (for 'make check-vfd' testing) for many tests. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15800] Description:Quincey Koziol2008-10-071-10/+10
| | | | | | | | | | | | | | | | | | | | | | | Bring file free space branch changes through r15795 into trunk, which includes a fair bit of code cleanup & rearrangement along with a couple of bug fixes also. Tested on: Mac OS X/32 10.5.5 (amazon) in debug mode Mac OS X/32 10.5.5 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15628] Description:Quincey Koziol2008-09-161-32/+32
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r15485] Purpose: Allow library to shut down properly when objects have ↵Neil Fortner2008-08-191-1/+1
| | | | | | | | | | | | | | | | reference count > 1. Description: Added a new field 'app_count' to H5I_id_info_t struct, to track the reference count on an id due to the application. the old 'count' field tracks the total. Generally any id visible to the application gets placed in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref, H5I_register, H5I_clear_type, and a few other functions, to specify whether the operation(s) being performed on the id(s) are due to the application (TRUE) or not (FALSE). Test added for this case. Tested: kagiso, smirom, linew (h5committest)
* [svn-r14262] Description:Quincey Koziol2007-11-151-2/+2
| | | | | | | | Correct "off by one" error in computing the size of block to allocate when the I/O size is less than the memory block size. Tested on: Customer machines, by local developer...
* [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not ↵Scott Wegner2007-05-181-10/+10
| | | | | | | WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform. Tested: Visual Studio (32- and 64-bit) on Win XP
* [svn-r13517] To deal with the situation that compiler supports direct I/O ↵Raymond Lu2007-03-151-10/+22
| | | | | | but file system doesn't, added a condition check of writing aligned data. Skip the test for direct VFD if it's this situation.
* [svn-r13432] Changed the detection of alignment requirement for Direct I/O ↵Raymond Lu2007-02-281-13/+33
| | | | | | from configuration to run-time detection in H5FD_direct_open in H5FDdirect.c.
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. 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.
* [svn-r13139] Fixed the MULTI problem (Bug #731) that corrupted the data. ↵Raymond Lu2007-01-121-4/+10
| | | | | | | The problem came from the EOA for the whole MULTI file. It's taken out because it's meaningless for MULTI file. Instead, each individual file has its EOA.
* [svn-r13068] Ran bin/reconfigure. Some of the scripts have been changed or ↵James Laird2006-12-181-2/+2
| | | | | | | | | haven't been run in a while, so many of the source files were updated with tracing macros, etc. No code changes by me. Tested on kagiso and smirom.
* [svn-r12885] Refactored the H5FD_direct_open and H5FD_direct_write. The ↵Raymond Lu2006-11-091-79/+23
| | | | | | | condition for H5_HAVE_DIRECT_ALIGN not defined simply repeated the code above. Merged this part into the code above. No other significant change.
* [svn-r12870] Add a new macro H5_HAVE_DIRECT_ALIGN in configure.in. Some ↵Raymond Lu2006-11-061-5/+81
| | | | | | | systems like copper and sleipnir doesn't require alignment for Direct I/O. If this's true, write or read data just like sec2 does.
* [svn-r12842] Description:Quincey Koziol2006-11-021-1/+1
| | | | | | | | | | | | | | | | Refactor generic property list initialization code to put property list specific routines in property list modules, instead of scattered to the four winds. Also, introduce property list class initialization objects, to make adding new property list classes in the library easier. Fix daily test failure by using H5Pget_elink_prefix() API routine instead of looking at the "raw" generic property list information. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/C++ & FORTRAN Linux/64 2.4 (mir) w/build-all & 1.6 compat
* [svn-r12841] Bug fix. The mechanism to handle interupted system call or ↵Raymond Lu2006-11-011-89/+50
| | | | | | partial I/O for reading data may not work well for Direct I/O because of the requirement for data alignment. Took it out.
* [svn-r12824] O_DIRECT flag was accidentally commented out in previous ↵Raymond Lu2006-10-301-1/+1
| | | | checkin. Put it back in.
* [svn-r12822] H5Pset_alignment seems working. Added it in test/vfd.c and ↵Raymond Lu2006-10-281-5/+2
| | | | | | made the test more complete by writing two data sets. One is aligned, and the other isn't.
* [svn-r12820] Added fragmental copy buffer to H5FD_direct_write. This buffer ↵Raymond Lu2006-10-271-87/+131
| | | | | | | size is set through H5Pset_fapl_direct. It's been added to H5FD_direct_read in the previous checkin. Still, a test is needed at later checkin.
* [svn-r12792] Fixed a Makefile.am to clean up a test file generated by the ↵James Laird2006-10-201-1/+2
| | | | | | | | | | | Packet Table compression test. Tested that the file is removed on juniper and heping. Running reconfigure also regenerated the H5E* files (I think this means somebody updated these files but didn't run reconfigure).
* [svn-r12788] Enable the algorithm of Direct driver to read data in fragment ↵Raymond Lu2006-10-191-36/+76
| | | | | | | | from file. If the application requests large data from file, to avoid using too much of memory for copying data from library's own aligned buffer to application's (unaligned) buffer, this step is done in fragment. The next step checkin is to handle writing data in fragment.
* [svn-r12783] Took out the function H5FD_direct_alloc that was added ↵Raymond Lu2006-10-191-47/+1
| | | | | | | yesterday. This function would be redundant because the allocation function in H5FD.c H5FD_real_alloc actually has handled the aligned allocation.
* [svn-r12777] Added support to aligned file space allocation. The alignment ↵Raymond Lu2006-10-181-1/+47
| | | | | | should be set through H5Pset_alignment.
* [svn-r12776] The internal change is to make the 3 parameters of ↵Raymond Lu2006-10-181-24/+192
| | | | | | | | H5Pset_fapl_direct be a structure and passed through driver info functions in H5FD_direct_open, H5FD_direct_read, and H5FD_direct_write. The external change is to add a new API function H5Pget_fapl_direct to query 3 control values, the memory boundary, file system block size, and the maximal buffer size for copying data.
* [svn-r12766] Made two changes to Direct I/O VFD: first added 3 parameters to ↵Raymond Lu2006-10-161-123/+168
| | | | | | | | H5Pset_fapl_direct to control memory boundary, file block size, and maximal copy buffer size; second in H5FD_direct_write and H5FD_direct_read, the library checks whether data buffer is aligned. If it is, then write and read the data directly instead of making a copy buffer.
* [svn-r12755] The line "#define _XOPEN_SOURCE 600" is recommended for ↵Raymond Lu2006-10-121-2/+3
| | | | | | posix_memalign function but causes compiling error on copper. Comment it out. It only gives a warning on SGI Altix.
* [svn-r12739] Added Direct I/O driver to VFD. It's only supported by SGI ↵Raymond Lu2006-10-101-0/+989
Altix (cobalt). There's a configure option --enable-direct-vfd/--disable-direct-vfd to enable/disable Direct I/O support. The default is enabled. There's a small test in test/vfd.c. Another way to test it is to set environment variable HDF5_DRIVER to "direct" and run "make check" in the test/ directory. There'll be some further improvement in the following checkin including allowing user to provide memory boundary value, file block size, and copying buffer size.