summaryrefslogtreecommitdiffstats
path: root/src/H5FDdirect.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r29842] Description:Quincey Koziol2016-04-301-0/+7
| | | | | | | | | Bring [appropriate portions of] r29811, 29813, 29826, 29830, 29831 from revise_chunks branch to the trunk. Tested on: MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r28626] Brought VFD-level file locking code over from revise_chunks.Dana Robinson2015-12-141-8/+79
| | | | | | | Tested on: Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1 serial only (these changes have been in revise_chunks for a long time)
* [svn-r27811] Description:Quincey Koziol2015-09-161-21/+17
| | | | | | | | | | | Refactor property list code to "deep copy" properties in the correct way, retraining the rest of the library to copy & release things correctly. This cleans up another batch of memory leaks, etc. within the library. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial & parallel (h5committest forthcoming)
* [svn-r27768] Description:Quincey Koziol2015-09-141-12/+7
| | | | | | | | | | | | | | | | | | | | | | Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
* [svn-r27572] Removed VMS-specific code from the library.Dana Robinson2015-08-241-15/+0
| | | | | | | | | The only remaining code consists of a few floating-point tests that rely on pre-generated and checked-in VMS files. These have been left alone, even though they will not be possible to recreate, since testing VMS float behavior is still important. Tested on: h5committest
* [svn-r27133] - Add a new attribute function characterstic for format:Mohamad Chaarawi2015-06-011-8/+8
| | | | | | | | * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* [svn-r27045] Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-orderedDana Robinson2015-05-101-1/+1
| | | | | | the arguments to be in a more logical order. Tested on: h5committest
* [svn-r26002] move checks on reading/writing beyond file eoa outside of the ↵Mohamad Chaarawi2015-01-221-4/+0
| | | | | | file drivers and into a centralized place in H5FD_read/write. tested h5committest.
* [svn-r25929] Description:Quincey Koziol2014-12-291-3/+3
| | | | | | | | | | Clean up EOF code within library and add 'mem_type' parameter to 'get_eof' VFD callback, to avoid various ambiguous situations, particularly with the multi VFD. (Supports changes for 'avoid_truncate' feature also) Tested on: MacOSX/64 10.10.1 (amazon) w/serial & parallel h5committest forthcoming
* [svn-r25531] remove use of C99 PRI that failed on windows in dtypes.cMohamad Chaarawi2014-08-111-2/+8
| | | | fix bugs where hid_t were assumed to be 32 bit ints or herr_t.
* [svn-r23713] Description:Quincey Koziol2013-05-211-59/+31
| | | | | | | | | | Clean up warnings, switch library code to use Standard C/POSIX wrapper macros, remove internal calls to API routines, update checkapi and checkposix scripts. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN Big-Endian Linux/64 (ostrich)
* [svn-r22998] Description:Quincey Koziol2012-11-011-4/+5
| | | | | | | | | | | | | | | | | | | | | | | Clean up warnings and bring changes from Coverity branch back to trunk: r20451: Fixed coverity 810 r20454: Purpose: Fix coverity issue 816 Description: Modified various file drivers to always check the return value from H5P_get_driver_info. r20455: Purpose: Cleanup fix for coverity issue 816 Description: Removed redundant check for "fa" in H5FD_core_open. Tested on: Mac OSX/64 10.8.2 (amazon) w/debug (Too minor to require h5committest)
* [svn-r22676] Changes needed to make the default free-list mapping from ↵Vailin Choi2012-08-131-1/+1
| | | | H5FD_FLMAP_SINGLE to H5FD_FLMAP_DICHOTOMY.
* [svn-r21932] Description:Quincey Koziol2012-02-131-1/+1
| | | | | | | | Correct misnamed FUNC_ENTER macro. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel (too minor to require h5committest)
* [svn-r21924] Description:Quincey Koziol2012-02-101-2/+2
| | | | | | | Correct a few typos in r21923 checkin that caused failures on linew & ember. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r21922] Description:Quincey Koziol2012-02-091-42/+22
| | | | | | | | Refactor function name macros and simplify the FUNC_ENTER macros, to clear away the cruft and prepare for further cleanups. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug, production & parallel
* [svn-r21366] JIRA HDFFV-2748 replace use of _WIN32 in source. Created new ↵Allen Byrne2011-09-061-389/+389
| | | | | | defines H5_HAVE_WIN32_API and H5_HAVE_VISUAL_STUDIO defines to use. These can be properly set during configurration. Tested: windows and local linux - reviewed internally
* [svn-r20650] Description:Quincey Koziol2011-04-261-1/+1
| | | | | | | | | Fix spelling error: FUNC_ENTER_NOAPI_NOFUNC_NONIT -> FUNC_ENTER_NOAPI_NOINIT_NOFUNC Tested on: FreeBSD/32 8.2 (loyalty) FreeBSD/64 8.2 (loyalty)
* [svn-r20588] Description:Quincey Koziol2011-04-211-6/+6
| | | | | | | | | Clean up code a bit, move new "terminate" VFD callback to new position in H5FD_class_t struct. Tested on: Mac OS X/32 10.6.7 (amazon) w/debug & production (h5committest not required on this branch)
* [svn-r19796] Bug 2091: remove all Metraowerks compiler code bracheted by ↵Albert Cheng2010-11-161-1/+1
| | | | | | | | __MWERKS__. Metraowerks compiler is no more. Make the code cleaner. Tested: H5committest plus jam serial.
* [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.