summaryrefslogtreecommitdiffstats
path: root/src/H5FD.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r13993] Description:Quincey Koziol2007-07-211-12/+14
| | | | | | | | Correct error for checking whether an object in a file can be extended when there are no free lists maintained by the VFD. Tested on: FreeBSD/32 6.2 (duty) w/check-vfd
* [svn-r13856] H5FDwindows.h is included in the hdf5.h but we didn't put it ↵MuQun Yang2007-06-121-0/+2
| | | | | | | | | | | | | | | | into Makefile.am un der /src. So when gmake check-install is run for HDF5 examples, it will fail. Th e fix is to include a macro #ifdef H5_HAVE_WINDOW around #include H5FDwindows.h so that H5FDwindows.h will only be included on windows, not on other platforms. We've fixed with the same way for other source code that includes H5FDwindows.h. This has been tested with h5committest. However, it takes a few hours to test all tests and except kagiso. Tests on linew and smirom cannot finish. It takes forever for the fheap test. And for parallel test at kagiso, ph5diff test seems to be hanged. I think all of our changes will only affect windows. So in order not to block other developers to check in their code, we just go ahead to check our changes. Kent Yang
* [svn-r13852] Added includes in various places to make it possible to set ↵Scott Wegner2007-06-111-0/+4
| | | | | | | windows as the default vfd. Although sec2 is still default on Windows, it should now be possible to switch by simply changing H5pubconf.h . Tested: .NET 2003 on WinXP
* [svn-r13814] Description:Quincey Koziol2007-05-291-15/+18
| | | | | | | | | | | | | | Change back to clearing memory buffers by default, but give users option to disable this, for performance reasons (--disable-clear-file-buffers). Also, add configure option (--enable-using-memchecker) to conveniently control making the library "play nice" with memory checking tools like valgrind and purify. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) Linux/32 2.6 (kagiso)
* [svn-r13811] Description:Quincey Koziol2007-05-291-1/+1
| | | | | | | | Update information printed when the file module's debugging is enabled and file memory is leaked. Tested on: Linux/32 2.6 (chicago)
* [svn-r13750] Description:Quincey Koziol2007-05-141-0/+6
| | | | | | | | | Various minor cleanups found while working on the "unique, but sharable" ISOHM changes. Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13588] A support of files bigger than 2GB for STDIO driver. Configure ↵Raymond Lu2007-04-041-10/+16
| | | | | | | | will check if fseeko is available. Using it instead of fseek can support big files because the offset is of type off_t not long int. Also added the test for STDIO in big.c.
* [svn-r13477] Description:Quincey Koziol2007-03-081-0/+51
| | | | | | | | | | | | | | | | | | | | The main purpose of this checkin was to eliminate the space used for tracking creation time indices when there is no way they can be used (i.e. attributes can't be shared in the file and the user hasn't turned on attribute creation tracking), however there were some other minor changes which crept in: - Fix a cache locking deadlock when a shared attribute and one of its components end up in the same fractal heap direct block. (This is fixed the "slow" way for right now, until John has time to add support for readers/writer locking to the cache. - Optimize attribute copying when a copy will be kept during a v2 B-tree search. - When freeing a block on disk, attempt to merge it with the metadata and "small data" aggregators. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [svn-r13475] There's a configure issue linking szip's shared libraries when ↵Mike McGreevy2007-03-081-13/+14
| | | | | | | | | | | | running on kagiso. The static szip libraries are working as intended, but when shared szip libraries are present and intended for use they cannot be opened. A check has been implemented to test if shared szip libraries are functional on current platform. If they are not, and the user is trying to use them, szip is now disbaled and the user is informed. This issue occurs on kagiso, and the resolution was tested on kagiso.
* [svn-r13428] Purpose:Leon Arber2007-02-281-2/+2
| | | | | | | | Change formatting of file_handle parameter in funtion declaration to make bin/trace happy. Tested: smirom (minor, purely cosmetic change)
* [svn-r13270] Description:Quincey Koziol2007-02-081-83/+89
| | | | | | | | | | | Clean up some of the file space allocation formatting. Beef up the attribute creation order tests to make certain they are handling shared atributes correctly (which they apparently are :-) Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [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-r13240] Description:Quincey Koziol2007-02-051-1/+1
| | | | | | | | | | More cleanups on the object header message handling code, to make it easier to work with and move forward on the creation order coding. Various other minor cleanups & warning fixes. Tested on: FreeBSD/32 6.2 (duty)
* [svn-r13181] Added a configure check to prevent a failure on Cygwin.James Laird2007-01-231-2/+2
| | | | | | | | | | | | | | It seems that while Cygwin supports the time command, it has trouble with the syntax srcdir="../../hdf5/test" time ./testhdf5 and complains. The solution is to test the above case in configure and not to use the time command if it fails; Cygwin is fine with srcdir="../../hdf5/test" ./testhdf5 Tested on Cygwin and kagiso. This feature shouldn't be a major compatibility problem since every platform but Cygwin is already fine with the current syntax.
* [svn-r13139] Fixed the MULTI problem (Bug #731) that corrupted the data. ↵Raymond Lu2007-01-121-18/+45
| | | | | | | 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-14/+14
| | | | | | | | | 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-r12842] Description:Quincey Koziol2006-11-021-27/+20
| | | | | | | | | | | | | | | | 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-r12828] Description:Quincey Koziol2006-10-301-12/+16
| | | | | | | | Clean up compiler warnings... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12809] Purpose:Albert Cheng2006-10-251-2/+4
| | | | | | | | | | | | | | Bug fix. Description: H5FD_get_vfd_handle() would return okay even if an VFD did not have the get_vfd_handle callback function defined. Solution: Return failure if get_vfd_handle function is not defined. Tested: in heping and copper.
* [svn-r12739] Added Direct I/O driver to VFD. It's only supported by SGI ↵Raymond Lu2006-10-101-0/+4
| | | | | | | | | | 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.
* [svn-r12706] Description:Quincey Koziol2006-10-021-3/+3
| | | | | | | | | Clean up some of the warnings on 64-bit Linux... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Too minor to require h5committest
* [svn-r12700] Alert:Quincey Koziol2006-10-021-262/+346
| | | | | | | | | | | | | | | | | | | | | | | | | | | | File format is not stable, don't keep files produced! Description: First stage of checkins modifying the format of groups to support creation order. Implement "dense" storage for links in groups. Try to clarify some of the symbols for the H5L API. Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest file format options (including "dense" link storage in groups) Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation order tracking in groups (although no index on creation order yet). Remove --enable-group-revision configure flag, as file format issues are now handled in a backwardly/forwardly compatible way. Clean up lots of compiler warnings and other minor formatting issues. Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) w/FORTRAN & C++ Linux/64 2.4 (mir) w/enable-v1.6 compa Mac OSX/32 10.4.8 (amazon) AIX 5.3 (copper) w/parallel & FORTRAN
* [svn-r12692] Removed code that was used to support lazy allocation of file spaceJames Laird2006-09-281-1/+0
| | | | | | | since HDF5 no longer allocates file space lazily. Tested on mir; should be only a cleanup, since the code isn't called from anywhere.
* [svn-r12570] Description:Quincey Koziol2006-08-131-17/+15
| | | | | | | | | | Refactor file memory allocation code slightly, to make it clearer, along with adding/correcting some comments. Tested on: FreeBSD 4.11 (sleipnir) Linux/64 2.4 (mir) Solaris/64 2.9 (shanti)
* [svn-r12504] Pedro Vicente Nunes2006-07-271-0/+4
| | | | | | | | | | | | bug fix calling h5tools_get_fapl running the mpio driver caused H5FD_pl_copy to fail silently in some conditions. a MPI call was made before MPI_Init. solution: corrected the MPI call to be made after MPI_Init and added error return conditions to H5FD_pl_copy and h5tools_get_fapl tested on copper parallel, mir, shanti
* [svn-r12292] Purpose:Quincey Koziol2006-04-201-53/+0
| | | | | | | | | | | | | Code maintenance Description: Remove flexible parallel code Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (heping) Solaris 2.9 (shanti) Linux 2.4/64 (mir)
* [svn-r12155] Purpose:Quincey Koziol2006-03-261-58/+63
| | | | | | | | | | | Code optimization Description: Tweak file free space allocation routines to optimize them a bit. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11470] Purpose:John Mainzer2005-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Repair synchronization bug in the metadata cache in PHDF5 Also repair numerous other bugs that surfaced in testing the bug fix. Description: While operations modifying metadata must be collective, we allow independant reads. This allows metadata caches on different processes to adjust to different sizes, and to place the entries on their dirty lists in different orders. Since only process 0 actually writes metadata to disk (all other processes thought they did, but the writes were discarded on the theory that they had to be collective), this made it possible for another process to modify metadata, flush it, and then read it back in in its original form (pre-modification) form. The possibilities for file corruption should be obvious. Solution: Make the policy that only process 0 can write to file explicit, and visible to the metadata caches. Thus only process 0 may flush dirty entries -- all other caches must retain dirty entries until they are informed by process 0 that the entries are clean. Synchronization is handled by counting the bytes of dirty cache entries created, and then synching up between the caches whenever the sum exceeds an (eventually user specified) limit. Dirty metadata creation is consistent across all processes because all operations modifying metadata must be collective. This change uncovered may bugs which are repaired in this checkin. It also required modification of H5HL and H5O to allocate file space on insertion rather than on flush from cache. Platforms tested: H5committest, heping(parallel & serial) Misc. update:
* [svn-r11338] Purpose:Quincey Koziol2005-09-021-1/+3
| | | | | | | | | | | | | Bug fix Description: Check in fix that John found for bug in H5FD_extend() code - adjust beginning as well as size of free block when "extending" another block of space in the file. Platforms tested: FreeBsd 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-53/+53
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10919] Purpose: Take Out An Unused FunctionRaymond Lu2005-06-141-0/+1
| | | | | | | | | | | Description: Data conversion function H5T_conv_i32le_f64le() was unused. Because we have new conversion functions for integers and floating numbers, this old function is taken out. Platforms tested: fuss - simple change. Misc. update:
* [svn-r10628] Purpose:Quincey Koziol2005-04-181-2/+2
| | | | | | | | | | | Code cleanup Description: Clean up various warnings reported by the Windows team. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10570] Purpose: MaintenanceElena Pourmal2005-04-071-4/+0
| | | | | | | | | | | Description: Removed support for SRB driver Solution: Removed or modified appropriate files; ran reconfigure to regenerate Makefile.in and configure files. Platforms tested: heping and shanti Misc. update: ran bin/chkmanifest on heping
* [svn-r10505] Purpose:Quincey Koziol2005-03-291-47/+112
| | | | | | | | | | | | New feature Description: Search free list when checking for, or actually performing, extension of an object in the file. Platforms tested: FreeBSD 4.11 (sleipnir) Solaris 2.9 (shanti)
* [svn-r10130] Purpose:Albert Cheng2005-03-031-4/+0
| | | | | | | Retired GASS driver. Platforms tested: H5committested.
* [svn-r9857] Purpose: MaintenanceElena Pourmal2005-01-221-3/+0
| | | | | | | | | | | | | | Description: Removed PABLO from the source Solution: Platforms tested: arabica with 64-bit, copper with parallel, heping with GNU C and C++ and PGI fortran (but I disabled hl, there is some weird problem only on heping: F9XMODFLAG is not propagated to the Makefile files Misc. update:
* [svn-r9727] Purpose:Quincey Koziol2004-12-291-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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:
* [svn-r8981] Purpose:Quincey Koziol2004-08-021-4/+3
| | | | | | | | | | | | | Code cleanup Description: Various minor tweaks to clean code up and bring it into closer syncronization with the release branch. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel h5committested IRIX64 6.5 (modi4)
* [svn-r8946] Purpose:Quincey Koziol2004-07-261-0/+15
| | | | | | | | | | | | | | | | | | Code cleanup, sorta Description: Added ifdef sections for "H5_USING_PURIFY" in various places in the code, which are designed to reduce the spurious "uninitialized memory read" warnings from purify which are actually OK. Note that this macro will have to be turned on by adding it to the CFLAGS for the build - I didn't think it was important enough to add a configure flag for. Also, the changes in H5HG.c optimize the walks through the objects in a heap to only look at the 'used' entries instead of all the 'allocated' entries. Platforms tested: Solaris 2.7 (arabica) w/purify Not tested by h5committest
* [svn-r8877] James Laird2004-07-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: Bug Fix Description: If an HDF5 file grows larger than its address space, it dies and is unable to write any data. This is more likely to happen since users are able to change the number of bytes used to store addresses in the file. Solution: HDF5 now throws an error instead of dying. In addition, it "reserves" address space for the local heap and for object headers (which do not allocate space immediately). This ensures that after the error occurs, there is enough address space left to flush the entire file to disk, so no data is lost. A more complete explanation is at /doc/html/TechNotes/ReservedFileSpace.html Platforms tested: sleipnir, copper (parallel), verbena, arabica, Windows (Visual Studio 7) Solution: Platforms tested: Misc. update:
* [svn-r8731] Purpose:Quincey Koziol2004-06-231-7/+5
| | | | | | | | | | | | | | | Code cleanup & minor optimization Description: Re-work the way interface initialization routines are specified in the library to avoid the overhead of checking for them in routines where there is no interface initialization routine. This cleans up warnings with gcc 3.4, reduces the library binary size a bit (about 2-3%) and should speedup the library's execution slightly. Platforms tested: FreeBSD 4.10 (sleipnir) w/gcc34 h5committest
* [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to ↵James Laird2004-06-181-3/+3
| | | | allow users to register IDs and ID types at runtime.
* [svn-r8664] Purpose:Quincey Koziol2004-06-121-0/+158
| | | | | | | | | | | | | | Code optimization Description: Allow global heap collections to grow in size (up to a 64K limit) if they are able to. This allows them to grow to a more reasonable size than the 4K minimum size. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8630] Purpose:Quincey Koziol2004-06-091-1/+0
| | | | | | | | | | | | | | | | | Bug fix Description: Correct potential file corruption from mis-setting the metadata accumulator address. (Bugfix contributed by Sean Monner <seanm@quadrus.com>) Solution: When the new metadata overlaps with the end of the metadata accumulator and the accumulator grows in size, don't reset the address of the accumulator, since it hasn't moved. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest
* [svn-r8391] Purpose:John Mainzer2004-04-191-43/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkpoint checkin of FP bug fixes. FP is still quite buggy, but I must go deal with other matters. Description: Fixed two major bugs: 1) H5FPserver.c was clobbering meta data in its care. 2) H5FPserver.c was allocating the same space multiple times, causing both data and meta data corruption. Also made minor fixes, added debugging code, and familiarized myself with the FP code. All development work with FP enabled was done on Eirene. On this platform, FP now passes its test reliably with up to 9 processes. At 10 processes it seg faults every time. I haven't looked into this issue. There are also several known locking bugs which have to be fixed. However, they are of sufficiently low probability that I didn't bother with them on this pass. FP has not been tested with deletions -- this should be done. Also, need to test FP chunked I/O. Solution: 1) Modified cache in H5FPserver.c to merge changes correctly. Found and fixed a bug in H5TB.c in passing. 2) Multiple space allocation was caused by a race condition with set eoa requests. Most of these eoa requests appeared to be superfluous, so I deleted them. Those issued during the superblock read seemed necessary, so I inserted a barrier at the end of the superblock read, to prevent races with allocations. Platforms tested: h5committested
* [svn-r8142] Purpose:Quincey Koziol2004-02-021-1/+10
| | | | | | | | | | | Fix build with C++ compiler Description: Add file driver header files for prototypes. Platforms tested: FreeBSD 4.9 (sleipnir) w/CC=g++ too obscure to require h5committest
* [svn-r8134] Purpose:Quincey Koziol2004-01-311-0/+26
| | | | | | | | | | | | | | | | Code cleanup Description: Add destructor to match constructor fr VFLs when they are shut down by the library. Solution: Added H5FD_*_term() routines to "undo" changes made in H5FD_*_init() routines. Platforms tested: IBM p690 (copper) too minor to require h5committest
* [svn-r8126] Purpose:Quincey Koziol2004-01-311-12/+64
| | | | | | | | | | | | | | | | | Bug fix/optimization Description: Address slowdown in MPI-I/O file metadata operations that was introduced mid-stream. We now _require_ a POSIX compliant parallel file system for the MPI-I/O file driver (as well as for the MPI-POSIX file driver). Also optimized file open operation when the file is being created by reducing the number of collective & syncronizing calls. Additionally, refactor the MPI routines into a common place, eliminating duplicated code. Platforms tested: FreeBSD 4.9 (sleipnir) w/parallel h5committest
* [svn-r7917] Purpose:Quincey Koziol2003-12-061-7/+7
| | | | | | | | | | | | | | | | | | | Code cleanup Description: Clean up compiler warnings, especially the 'FUNC' variable not used which comes out in production mode. Solution: Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API functions which don't need the 'FUNC' variable defined. (This will be _so_ much easier when C99 is standard on all our supposed platforms, since it has a __FUNC__ macro... ) Platforms tested: FreeBSD 4.9 (sleipnir) too minor for h5committest (although there were lots of files changed, the change was minor in each one)
* [svn-r7818] Purpose:Quincey Koziol2003-11-061-2/+2
| | | | | | | | | | | Warning cleanup Description: Make a parameter 'const' to clean up a warning during compiles. Platforms tested: FreeBSD 4.9 (sleipnir) too minor to require h5committest