summaryrefslogtreecommitdiffstats
path: root/src/H5FDdirect.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r27685] Merge of r27572 from trunkDana Robinson2015-09-061-15/+0
| | | | | | | | | | Remove all VMS-specific code from the library. The exception is the VMS floating-point tests since those are special as VMS floats are odd. Those files will be considered separately. Fixes HDFFV-9495 Tested on: h5committest
* [svn-r27165] Merge 27133 & 27158 from trunk:Mohamad Chaarawi2015-06-081-7/+7
| | | | | | | | | - Add a new attribute function characterstic for format: * 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-r27099] Merge of r27045 from trunkDana Robinson2015-05-181-1/+1
| | | | | | | | | Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-ordered the arguments to be in a more logical order. Fixes HDFFV-9322 Tested on: h5committest
* [svn-r26003] merge 26002 from trunk:Mohamad Chaarawi2015-01-221-4/+0
| | | | | | move checks on reading/writing beyond file eoa outside of the file drivers and into a centralized place in H5FD_read/write. tested with h5commitest
* [svn-r23719] Description:Quincey Koziol2013-05-291-59/+31
| | | | | | | | | | | | Bring r23713 and r23717 from trunk to 1.8 branch: 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-r23000] Description:Quincey Koziol2012-11-011-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Bring r22998 from trunk to 1.8 branch: 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-r22677] Changes needed to make the default free-list mapping from ↵Vailin Choi2012-08-141-1/+1
| | | | | | H5FD_FLMAP_SINGLE to H5FD_FLMAP_DICHOTOMY. Also changed H5O_copy_search_comm_dt_check() to use H5O_obj_class() to get object type instead of H5O_get_info(...TRUE...) saving time in traversing metadata.
* [svn-r21935] Description:Quincey Koziol2012-02-131-1/+1
| | | | | | | | | | | | | | Bring r21932 & r21934 from trunk to 1.8 branch: r21932: Correct misnamed FUNC_ENTER macro. r21934: Remove some leftover uses of the __FUNCTION__ macro, replacing them with FUNC macro, as used everywhere else. Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & production
* [svn-r21925] Description:Quincey Koziol2012-02-101-43/+23
| | | | | | | | | | | | | | Bring r21919-21924 from trunk to 1.8 branch: cleanup FUNC_ENTER macros, etc. Also removed Subversion mergeinfo tags from a few directories and files. These are artifacts from non-root merges using pre-1.6 Subversion clients. (This should fix the problem of unchanged directories looking "changed" during checkins.) Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & production (daily tested on trunk)
* [svn-r21376] JIRA-HDFFV-2748: Relplace WIN32 macros in source. New ↵Allen Byrne2011-09-121-390/+390
| | | | | | | | H5_HAVE_WIN32_API and H5_HAVE_VISUAL_STUDIO defines only need to be set on windows. Autotools configure is not affected. Trunk passed for a week and cmake branch has been in place > 3 weeks. Tested: local linux
* [svn-r19797] Bug 2091: remove all Metraowerks compiler code bracheted by ↵Albert Cheng2010-11-171-1/+1
| | | | | | | | __MWERKS__. Metraowerks compiler is no more. Make the code cleaner. Tested: H5committest plus jam serial.
* [svn-r19147] 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-r18652] Description:Quincey Koziol2010-04-271-1/+1
| | | | | | | | | | | | Bring r18650 from trunk to 1.8 branch: Bring back various minor tweaks & cleanups from the revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode (h5committested on trunk)
* [svn-r16566] Description:Quincey Koziol2009-03-111-2/+3
| | | | | | | | Bring r16560 back from trunk. Tested on: Mac OS X/32 10.5.6 (amazon) debug & production (Following up with tests on more platforms)
* [svn-r15863] Description:Quincey Koziol2008-10-141-0/+1
| | | | | | | | | | | | | | | | | | | | | Bring r15861 back from trunk to 1.8 release branch. 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-r15801] Description:Quincey Koziol2008-10-071-10/+10
| | | | | | | | | | | | | | | | | | | | | | | Bring r15800 back from trunk: - File free space branch changes through r15794 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-r15629] 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-r15486] 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.