summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5726] Snapshot version 1.5 release 30HDF Admin2002-06-291-2/+2
|
* [svn-r5723] Raymond Lu2002-06-271-3/+2
| | | | | | | | | | | Purpose: Fix bug Description: In function H5HG_remove, heap object header wasn't included for size. Solution: Added heap object header in. Platforms tested: Linux 2.2(eirene).
* [svn-r5707] Purpose:Quincey Koziol2002-06-251-0/+4
| | | | | | | | | | | | | | Bug Fix. Description: Contiguous types created for "all" and contiguous hyperslab selections was not being committed before using them. Solution: Commit them. :-) This fixes the problems on the LLNL Blue Pacific machine. Platforms tested: LLNL Blue Pacific w/parallel.
* [svn-r5690] Purpose:Quincey Koziol2002-06-241-29/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix Description: When parallel I/O is used, the MPI-I/O VFL driver uses a "lazy" model to call MPI_File_set_view() in order to reduce the number of calls to this function. However, this is unsafe, because if a collective I/O which uses MPI derived types (and thus uses MPI_File_set_view()) is immediately followed by an independent I/O, the code will attempt to call MPI_File_set_view() in order to switch back to the default view of the file. MPI_File_set_view() is a collective call however, and this causes the application to hang. Solution: Removed "lazy" MPI_File_set_view() code, instead set the file view when it is needed (with MPI derived types) and immediately set the file view back to the default view before leaving the I/O routine. Platforms tested: IRIX64 6.5 (modi4) w/parallel. Also, tested with the latest development and release code for the SAF library, which now works correctly with this change. (Although the release branch of the SAF library seems to have a bug, this 1.4.4 release candidate code gets as far as the version the SAF library is released on top of (1.4.2-patch1, I believe)).
* [svn-r5680] Purpose:Quincey Koziol2002-06-194-37/+97
| | | | | | | | | | | | | | | | | | | | New feature. Description: There is some discussion among the SAF team as to whether it is better to use MPI derived types for raw data transfers (thus needing a MPI_File_set_view() call), or whether it is better to use a sequence of low-level MPI types (i.e. MPI_BYTE) for the raw data transfer. Solution: Added an in internal flag to determine whether derived types are preferred (the default), or whether they should be avoided. An environment variable ("HDF5_MPI_PREFER_DERIVED_TYPES") can be set by users to control whether MPI types should be used or not. Set the environment variable to "0" (i.e.: 'setenv HDF5_MPI_PREFER_DERIVED_TYPES 0' to avoid using MPI derived types. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5677] Purpose:Quincey Koziol2002-06-1910-71/+52
| | | | | | | | | | | Code improvement Description: Some small code cleanups and took out the code the was turning off the metadata cache for parallel I/O (!) Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5674] Purpose:Quincey Koziol2002-06-194-15/+14
| | | | | | | | | | Code cleanup Description: Removed more compiler warnings, etc. Platforms tested: Linux 2.2.x (eirene) w/parallel
* [svn-r5670] Purpose:Quincey Koziol2002-06-193-26/+0
| | | | | | | | | | | Code cleanup Description: Remove "COALESCE_READS" ifdefs, which were brought in by the DPSS VFL driver and are no longer used. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5667] Purpose:Quincey Koziol2002-06-195-13/+13
| | | | | | | | | | Code cleanup Description: Turn on more warnings in the IRIX builds and clean them up. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5662] Purpose:Quincey Koziol2002-06-184-221/+28
| | | | | | | | | | | | | | | | | Bug fix. Description: The chunking code was using internal allocation routines to put blocks on a free list for reuse, instead of using the system allocation routines (ie. malloc, free, etc.). This causes problems when user filters attempt to allocate/free chunks for their algorithm's use. Solution: Switched the chunking code back to using the system allocation routines, we can address performance issues with them if it becomes a real problem. Platforms tested: Linux 2.2.x (eirene) && IRIX64 6.5 (modi4)
* [svn-r5660] Purpose:Quincey Koziol2002-06-183-128/+236
| | | | | | | | | | | | Code optimization Description: Avoid creating MPI types (and thus requiring a MPI_File_set_view() call) when contiguous selections are used for dataset I/O. This should be a performance improvement for those sorts of selections. Platforms tested: Linux 2.2.x (eirene) w/parallel && IRIX64 6.5 (modi4) w/parallel & FORTRAN
* [svn-r5652] Purpose:Quincey Koziol2002-06-175-36/+112
| | | | | | | | | | | | Code cleanup Description: Use dataset transfer property list to hold information about the MPI types for the current transfer, instead of setting pseudo-global variables in the file's struct. Platforms tested: Linux 2.2.x (eirene) w/parallel & IRIX64 6.5 (modi4) w/parallel & FORTRAN
* [svn-r5650] Purpose:Quincey Koziol2002-06-173-29/+68
| | | | | | | | | | | | Code cleanup Description: Change MPI-I/O code to use the address of the dataset for the displacement, instead of having a separate displacement value. Removed displacement parameter from H5FD_mpio_setup parameters. Platforms tested: Linux 2.2.x (eirene) w/parallel & IRIX64 6.5 (modi4) w/parallel.
* [svn-r5636] Purpose:Quincey Koziol2002-06-141-2/+2
| | | | | | | | | | Default change Description: Enable the use of MPI types for collective I/O by default. Platforms tested: Linux 2.2.x (eirene) w/parallel
* [svn-r5630] Elena Pourmal2002-06-132-0/+6
| | | | | | | | | | | | | | | | Purpose: [is this a bug fix? feature? ...] Description: [describe the bug, or describe the new feature, etc] Solution: [details about the changes, algorithm, etc...] [Please as detail as you can since your own explanation is better than others guessing it from the code.] Platforms tested: [machines you have tested the changed version. This is absolute important. Test it out on at least two or three different platforms such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and 64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
* [svn-r5605] Purpose:Quincey Koziol2002-06-121-8/+12
| | | | | | | | | | Code cleanup Description: Clean up some compiler warnings... Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5603] Purpose:Quincey Koziol2002-06-121-8/+32
| | | | | | | | | | | | | | | | Bug fix Description: I/O on "Regular" hyperslab selections could fail to transfer correctly if the number of elements in the selection's row did now fit "evenly" into the buffer being used for the transfer. Solution: Correct the calculation of the block & count offsets within the optimized "regular" hyperslab routines. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5595] Elena Pourmal2002-06-111-7/+17
| | | | | | | | | | | | | | | Purpose: Bug #774 fix Description: H5Tenum_valueof and H5Tenum_nameof functions did not fail when non-existing name or non-existing value were supplied. This happened because binary search algorithm did not check if value or name found during the search were equal to the supplied one. Solution: Added an appropriate check condition. Platforms tested: Solaris 2.7 and Linux 2.2.18
* [svn-r5589] Purpose:Quincey Koziol2002-06-111-2/+2
| | | | | | | | | | | | | | Bug fix. Description: H5P_get was reading a 'hsize_t' field into a 'size_t' variable, causing problems on the HP's and Windows. Solution: Changed the variable to be an hsize_t Platforms tested: HP/UX 11.0 (kelgia)
* [svn-r5586] Purpose:Quincey Koziol2002-06-113-10/+74
| | | | | | | | | | | | | | | | Bug Fix Description: H5Dcreate and H5Tcommit allow "empty" compound and enumerated types (i.e. ones with no members) to be stored in the file, but this causes an assertion failure and is somewhat vapid. Solution: Check the datatype "makes sense" before using it for H5Dcreate and H5Tcommit. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5582] Purpose:Quincey Koziol2002-06-101-1/+1
| | | | | | | | | | | Code cleanup Description: Need to change FUNC_ENTER_NOINIT to FUNC_ENTER_API_NOINIT for H5dont_atexit() Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5573] Purpose:Quincey Koziol2002-06-103-1/+3
| | | | | | | | | | | Bug fix (#620) Description: Change slightly misleading error message when creating attribute with same name as existing attribute to something a bit more clear. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5571] Purpose:Quincey Koziol2002-06-102-8/+10
| | | | | | | | | | | Bug Fix (#709)/Code improvement. Description: Allow chunks for chunked datasets to be cached when file is open for read-only access. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5567] Purpose:Quincey Koziol2002-06-101-0/+2
| | | | | | | | | | | | | | Bug fix (bug #777) Description: Current code allows a compound datatype to be inserted into itself. Solution: Check if the ID for the member is the same as the ID for the compound datatype and reject it if so. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5563] Purpose:Quincey Koziol2002-06-102-4/+0
| | | | | | | | | | | New Feature Description: Add H5P[set|get]_small_data_block_size API function, per our discussions at last week's HDF5 meeting. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5562] Purpose:Quincey Koziol2002-06-102-5/+9
| | | | | | | | | | | Code cleanup Description: Allow H5FD_free to return successfully (but ignore) freeing objects with size 0. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5560] Purpose:Quincey Koziol2002-06-101-0/+2
| | | | | | | | | | | | | | Bug Fix for bug #789 Description: Creating a 1-D dataset region reference caused the library to hang (go into an infinite loop). Solution: Corrected algorithm for serializing hyperslab regions. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5551] Purpose:Quincey Koziol2002-06-072-4/+4
| | | | | | | | | | | | Bug fix. Description: Added extra check to locations where metadata and "small data" blocks were being returned to the file's list of free space to avoid freeing 0-sized blocks. This should fix the problems in last night's daily tests. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5550] Purpose:Quincey Koziol2002-06-073-39/+67
| | | | | | | | | | | | | | | | | Code Improvement Description: Split the metadata accumulator code into two parts: one for allowing writes of the accumulator buffer during reads (when the buffer is dirty and needs to be flushed to disk in order to hold the new metadata being read in) and another for only allowing writes of the buffer during writes. This allows the MPI-I/O VFL driver to use the metadata accumulator (but only during writes) and benefit from the reduced number of metadata I/O operations that it brings. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5545] Purpose:Quincey Koziol2002-06-061-4/+0
| | | | | | | | | | Code cleanup Description: Back out [apparently] unnecessary include of H5F package include files. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5543] Purpose:Quincey Koziol2002-06-062-9/+0
| | | | | | | | | | Bug fix. Description: Return H5S_all_opt_possible() prototype to original position in H5Spkg.h, it is not related to parallel I/O. Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5542] Purpose:Quincey Koziol2002-06-062-15/+46
| | | | | | | | | | | | | | | | | Code cleanup/bug fix Description: Unused space in the file was being "dropped on the floor" when the metadata or "small data" block was moved to a new location in the file and there was unused space in the old block. Solution: Put the space left in the allocation block into the free list of space for the file. This allows it to be [potentially] reused and sometimes allows the file to be smaller. Platforms tested: Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5538] Purpose:Quincey Koziol2002-06-052-41/+101
| | | | | | | | | | | | | | | Code improvement. Description: Added boot block and driver info block checksumming feature to the shared file information. This prevents these blocks from being written out multiple times when they haven't changed. This reduces the number of I/O operations which hit the disk for my test program from 15 to 14 (i.e. from 393 to 14, overall). Platforms tested: Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5536] Purpose:Quincey Koziol2002-06-0515-208/+304
| | | | | | | | | | | | | | | | | New feature. Description: Added a "small data" block allocation mechanism to the library, similar to the mechanism used for allocating metadata currently. See the RFC for more details: http://hdf.ncsa.uiuc.edu/RFC/SmallData/SmallData.html This reduces the number of I/O operations which hit the disk for my test program from 19 to 15 (i.e. from 393 to 15, overall). Platforms tested: Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5530] Purpose:Bill Wendling2002-06-0410-18/+39
| | | | | | | | | | | | | | | Code Cleanup Description: Removed some compiler warnings. Solution: In a few cases, NULL was being returned when a FAIL was supposed to be returned instead. There were some header files which needed to be included in a few of the sources. A couple of if-then statements had assignments in the conditional part. The compiler warned that they should have extra "()"s around them. Made the code check the values instead. Platforms tested: Linux (parallel) Modi4 (parallel)
* [svn-r5529] Purpose:Quincey Koziol2002-06-041-4/+36
| | | | | | | | | | | | | | | Code improvement Description: Now that the metadata accumulator is working correctly, the buffer size tends to get rather large and stay there. Solution: Put a throttle on the accumulator buffer to reduce its size back down when it isn't needed. Platforms tested: Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5524] Elena Pourmal2002-06-041-7/+13
| | | | | | | | | | | | | Purpose: Bug fix (#699), fix provided by a user, approved by Quincey Description: When a scalar dataspace was written to the file and then subsequently queried with the H5Sget_simple_extent_type function, type was reported H5S_SIMPLE instead of H5S_SCALAR. Solution: Applied a fix (see bug report 699) Platforms tested: Solaris 2.7 and Linux 2.2.18
* [svn-r5521] Purpose:Quincey Koziol2002-06-041-11/+36
| | | | | | | | | | | | | | | | | | | | | | | Code improvement Description: The metadata aggregation code in the library was not terribly smart about extending contiguous regions of metadata in the file and would not extend them as far as possible. This causes space in the file to be wasted, also. Solution: Be smarter about extending the space used in the file for metadata by checking whether new metadata blocks allocated in the file are at the end of the current metadata aggregation region and append them to the metadata region if so. This has the nice side benefit of reducing the number of bytes we waste in the file and reducing the size of the file by a small amount in some cases. This reduces the number of I/O operations which hit the disk for my test program from 53 to 19 (i.e. from 393 to 19, overall). Platforms tested: Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5519] Purpose:Quincey Koziol2002-06-041-1/+11
| | | | | | | | | | | | | | | | | | Bug Fix Description: The "dirty" flag for symbol table entries and symbol table nodes was not being cleared when they were flushed to the file, causing lots of extra metadata I/O. Solution: Reset the symbol table entry & nodes' flags when thy are flushed to disk. This reduces the number of I/O operations which hit the disk for my test program from 83 to 53 (i.e. from 393 to 53, overall). Platforms tested: Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5510] Purpose:Quincey Koziol2002-06-031-57/+100
| | | | | | | | | | | | | | | | | | | | | | | | Code cleanup/bug fix Description: The "metadata accumulator" cache in the library (which is designed to catch small metadata writes/reads and bundle them together into larger I/O buffers) was incorrectly detecting the important case of metadata pieces being written sequentially to the file, adjoining but not overlapping. Additionally, the metadata accumulator was not being used to cache data read in from disk, only caching writes. Solution: Fix accumulator to correctly cache adjoining metadata writes and also to cache metadata read from disk. Between these two fixes, the number of I/O requests which resulted in actual reads/writes to the filesystem dropped from 393 requests to 82 for the particular test I was using. :-) Platforms tested: Solaris 2.7 (arabica) w/FORTRAN & FreeBSD 4.5 (sleipnir) w/C++
* [svn-r5506] Snapshot version 1.5 release 29HDF Admin2002-06-021-2/+2
|
* [svn-r5501] Purpose:Quincey Koziol2002-06-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Code Bug Fix Description: Under certain [obscure] circumstances, an object header would get paged out of the metadata cache, and when it was accessed again and brought back into the cache, and immediately had additional metadata added to it (an attribute, usually, or perhaps adding an object to a group), and needed to be extended with a continuation message, but there was no room in any existing object header chunks for the continuation message and an existing object header message needed to be moved to the new object header chunk (I told you it was obscure :-), the object header message moved to the new chunk (not the new metadata being added) would get corrupted. *whew* :-) Solution: Actually copy the "raw" object header message information of the object header message being moved to the new chunk, instead of relying on the "native" object header message information being re-encoded when the object header is flushed. This is because when an object header is paged out of the metadata cache and subsequently brought back in, the "native" information pointer in memory is reset to NULL and only the "raw" information exists. Platforms tested: Solaris 2.7 (arabica) & FreeBSD 4.5 (sleipnir)
* [svn-r5484] Raymond Lu2002-05-291-14/+10
| | | | | | | | | | | | | Purpose: Bug Fixing Description: In H5FD_family_write and H5FD_family_read, size_t is checked against hsize_t for overflow, which fails on IA32 architecture machine supporting large files. Solution: Use temporary variable which won't pass the limit of size_t. Platforms tested: Linux 2.4(platinum) and IRIX64 6.5(modi4)
* [svn-r5471] Purpose:Quincey Koziol2002-05-2966-1096/+1395
| | | | | | | | | | | | | | | | Code cleanup Description: Broke the FUNC_ENTER macro into several macros, with more specialized uses (which followup mail will describe). This was designed to move most/all of the checks which could be done at compile time to that point, instead of needlessly performing them (over & over :-) at run-time. This reduces the library's size (and thus staticly linked binaries) and has a minor speedup effect also. Platforms tested: IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing on FreeBSD and Solaris immediately after the checkin.
* [svn-r5467] Purpose:Quincey Koziol2002-05-2840-543/+675
| | | | | | | | | | | | | | | | | | | | | | | | Code cleanup. Description: Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros equivalents in the SAF library and adapted them to our library. I added an additional macro which is equivalent to FUNC_ENTER: FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but none of the library or interface initialization code. This is to be used _only_ for static functions and those which explicitly cannot have the library or interface initialization code enabled (like the API termination routines, etc.). This allowed many more of the functions in the library [but not all yet :-(] to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs. It also reduced the size of the library and executables (by cutting out a bunch of code which was never executed), I'll e-mail the exact results when I've finished editing it. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5465] Snapshot version 1.5 release 28HDF Admin2002-05-281-2/+2
|
* [svn-r5452] Pedro Vicente Nunes2002-05-223-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: eliminating the compiler warnings in Windows Solution: I am eliminating the compiler warnings in Windows. the last 2 were: 1) if((oid_list = H5MM_malloc(oid_count*sizeof(hid_t)))==NULL) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed"); D:\disk_w\hdf5\src\H5F.c(2590) : warning C4047: '=' : 'int ' differs in levels of indirection from 'void *' on the HGOTO_ERROR call , I replaced the NULL with FAIL 2) *((float*)d) = *((double*)s); D:\disk_w\hdf5\src\H5Tconv.c(6426) : warning C4244: '=' : conversion from 'double ' to 'float ', possible loss of data I added the type cast *((float*)d) = (float) *((double*)s); we have now 0 errors 0 warnings on Windows ! Platforms tested: w2000, linux
* [svn-r5447] Purpose:Quincey Koziol2002-05-211-34/+40
| | | | | | | | | | | Code cleanup Description: Guard against getting into metadata broadcast in write routine and clean up some error handling. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5444] Purpose:Quincey Koziol2002-05-205-34/+48
| | | | | | | | | | Code cleanup Description: Clean up warnings on IRIX64 6.5 (modi4) Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5440] Purpose:Quincey Koziol2002-05-2014-87/+54
| | | | | | | | | | | New feature Description: Add 'closing' parameter to H5FDflush and VFL "flush" functions, per http://hdf.ncsa.uiuc.edu/RFC/VFLFlush/VFLFlush.html Platforms tested: IRIX64 6.5 (modi4)