summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r8877] James Laird2004-07-1411-21/+216
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-r8874] Purpose:Quincey Koziol2004-07-145-19/+70
| | | | | | | | | | | | | | | | | | | | Bug fix Description: Correct problems with "resurrecting" a dataset in a file. (This occurs when a dataset which is open gets unlinked from the group hierarchy (making it "dead" and marked for deletion in the file) and then is re-linked to the group hierarchy). Note that the current solution applies only to datasets, further work will fix this for groups and named datatypes also. Also, fix the "debug" routines to be a little more helpful in certain situations. Additionally, fix a locking bug in the symbol table node splitting routine which could be [one of] the cause[s] of the file corruption in flexible parallel operation. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel h5committested
* [svn-r8867] Purpose:Quincey Koziol2004-07-131-3/+13
| | | | | | | | | | | | | | | | | | | Bug fix Description: Fix error in chunked dataset I/O where data written out wasn't read correctly from a chunked, extendible dataset after the dataset was extended. Also, fix parallel I/O tests to gather error results from all processes, in order to detect errors that only occur on one process. Solution: Bypass chunk cache for reads as well as writes, if parallel I/O driver is used and file is opened for writing. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8865] Purpose:Quincey Koziol2004-07-134-57/+70
| | | | | | | | | | | | | | | | | Code optimization Description: Re-work the insertion of a new child into an existing node, to exploit some speedups for adding the rightmost child, since this is a very common case when appending records to an unlimited size dataset. Also, hoist the checks for the tree's 'K' value into a field in the shared information about the tree, instead of re-calculating them all the time. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8860] Purpose:Quincey Koziol2004-07-121-12/+41
| | | | | | | | | | | | Code optimization Description: Avoid calling vector comparison routine when operating on 1-D chunks. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8858] Snapshot version 1.7 release 30HDF Admin2004-07-111-2/+2
|
* [svn-r8853] Purpose:Quincey Koziol2004-07-109-337/+378
| | | | | | | | | | | | | | | | | | | | Code optimization Description: Refactor B-tree code to extract all common information for a B-tree into a shared structure that is pointed to by all the nodes in tree (instead of being included in each node). Also re-order B-tree node comparison checks for chunked datasets to check for >= the upper node first, since the comparison is a bit "heavy" and this check is more likely to succeed when you are adding records to the dataset. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest (also, recent h5dump commits have broken testing...)
* [svn-r8847] Purpose:Quincey Koziol2004-07-091-69/+20
| | | | | | | | | | | | Code cleanup & small optimization Description: Eliminate redundant recomputation of native key pointer offsets. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel too minor to require h5committest
* [svn-r8844] Purpose:Quincey Koziol2004-07-0912-28/+303
| | | | | | | | | | | | | | | | | | Bug fix Description: The "shared" raw B-tree node can get freed before all the B-tree nodes had been flushed out to disk and released by the cache. Solution: Implement a simple reference counting wrapper for objects in the library and use it to hold the shared raw B-tree nodes so they aren't freed before all references to them in memory are released. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) IRIX64 6.5 (modei4)
* [svn-r8823] Purpose:Quincey Koziol2004-07-0710-413/+398
| | | | | | | | | | | | | | | Code optimization Description: Since the raw B-tree nodes are the same size and only used when reading in or writing out a B-tree node, move raw B-tree node buffer from being per node to a single node that is shared among all B-tree nodes of a particular tree, freeing up a lot of space and eliminating lots of memory copies, etc. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8818] Raymond Lu2004-07-072-10/+13
| | | | | | | | | | Purpose: Potential bug fix Description: In H5Fget_filesize, file size was returned as haddr_t. Change it to hsize_t and return it as parameter to make fortran interface easier. Platforms tested: fuss(simple change).
* [svn-r8807] Purpose:Quincey Koziol2004-07-051-42/+43
| | | | | | | | | | | | | Code optimization Description: Don't copy layout information, just point to existing information. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8805] Purpose:Quincey Koziol2004-07-051-86/+120
| | | | | | | | | | | | | | | | | Code optimization & bug fix Description: Speed up "fast comparison" lookups in trees by a factor of 2-3x Correctly handle "fast comparisons" for unsigned values (esp. hsize_t). Solution: Mostly removing if statements and redundant assigns, etc. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8803] Snapshot version 1.7 release 29HDF Admin2004-07-041-2/+2
|
* [svn-r8801] Purpose:Quincey Koziol2004-07-038-111/+173
| | | | | | | | | | | | | | | Code optimization Description: Set up datatype ID for dataset's datatype on disk. This allows us to avoid repeatedly copying the datatype when an ID is needed. Also, clean up a few warnings in various other places. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8800] Purpose:Quincey Koziol2004-07-0312-246/+197
| | | | | | | | | | | | | Code cleanup Description: Fix problems when compiling with C++ compiler. Also clean up some warnings with gcc 3.4.x Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve ↵John Mainzer2004-07-0221-1277/+5096
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | performance. Description: Replaced the old metadata cache with a cache with a modified LRU replacement policy. This should improve the hit rate. Solution: Since we want to flush cache entries in increasing address order, I used the threaded binary B-tree code to store the cache entries. There is a fair bit of overhead here, so we may want to consider other options. While the code is designed to allow the support of other replacement algorithms, at present, only a modified version of LRU is supported. The modified LRU algorithm requires that a user selectable portion of the cache entries be clean. The clean entries are evicted first when writes are not permitted. If the pool of clean entries is used up, the cache grows beyond its user specified maximum size. The cache can also exceed its maximum size if the combined size of the protected (or locked) entries exceeds the maximum size of the cache. Platforms tested: eirene (serial, parallel, fp), h5committested Misc. update:
* [svn-r8782] Purpose:Quincey Koziol2004-07-019-335/+255
| | | | | | | | | | | Code cleanup Description: Clean up almost all warnings from Windows builds. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8781] James Laird2004-07-0120-30/+287
| | | | | | | | | | | | | | | | Purpose: HDF5 now supports SZIP with no encoder. Description: SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled. Solution: Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC. Platforms tested: Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++) Misc. update:
* [svn-r8768] Nat Furrer2004-06-301-0/+1
| | | | | | | | | | | | | | Purpose: Updated H5MPprivate.h for the new API function H5Itype_exists. Description: This is the last commit for these changes... I swear... Solution: Platforms tested: Misc. update:
* [svn-r8767] Nat Furrer2004-06-302-2/+2
| | | | | | | | | | | | | | Purpose: Forgot to change H5Inmembers's return type in last commit... Description: Changed the number H5Inmembers returns by reference from int to hsize_t. Solution: Platforms tested: Misc. update:
* [svn-r8766] Nat Furrer2004-06-302-14/+69
| | | | | | | | | | | | | | | | | | | Purpose: Small H5I API changes. Description: Changed public version of H5Inmembers to return the number of IDs in a type by reference. This allows the user to differentiate between the case when H5Inmembers has an error and when the ID type is just empty. Added a new API function, H5Itype_exists, which allows the user to find out whether an ID type exists or not, without throwing an error. Solution: Platforms tested: Copper Misc. update:
* [svn-r8765] Purpose: New feature and its test.Raymond Lu2004-06-304-1/+57
| | | | | | | | | | | Description: Added new API H5Fget_name and new test program called filename.c. This function returns the name of the file by object ID(file, group, dataset, named datatype, and attribute) which belongs to the file. Platforms tested: h5committest and fuss. Misc. update: MANIFEST and RELEASE.txt
* [svn-r8760] Purpose:Quincey Koziol2004-06-2911-15/+29
| | | | | | | | | | | | | Code cleanup & small bug fix Description: Regenerate dependency files Add htri_t as separate type from hbool_t for code tracing purposes. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel too minor to require h5committest
* [svn-r8752] Purpose: Correct a typo.Raymond Lu2004-06-281-1/+1
| | | | | | | | Description: Mistyped color_H5Fget_filesize as color_H5Fget_filespace. Solution: Corrected for this commit. Platforms tested: No test needed.
* [svn-r8750] Purpose: Bug fixRaymond Lu2004-06-281-0/+1
| | | | | | | | Description: Forgot to add H5Fget_filespace to H5MPprivate.h for MPE. Solution: Defined color_H5Fget_filespac as "red". Platforms tested: copper
* [svn-r8741] *** empty log message ***Raymond Lu2004-06-242-0/+40
|
* [svn-r8736] Purpose:Quincey Koziol2004-06-242-69/+27
| | | | | | | | | | | | Code cleanup Description: Some code cleanups before starting serious optimization efforts. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r8732] Purpose:Quincey Koziol2004-06-2311-22/+22
| | | | | | | | | | | | Code cleanup Description: Reduce compiler warnings on SGI IRIX Platforms tested: FreeBSD 4.10 (sleipnir) SGI IRIX6 (Cheryl's machine) Too minor to require full h5committest
* [svn-r8731] Purpose:Quincey Koziol2004-06-23108-1520/+1057
| | | | | | | | | | | | | | | 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-r8725] Purpose:Quincey Koziol2004-06-232-10/+39
| | | | | | | | | | | | Refactor bug fix Description: Make bug fix for detecting the type of a soft link more general by registering an "isa" function for soft links. Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r8721] Purpose: Bug fix and test.Raymond Lu2004-06-221-1/+10
| | | | | | | | | | | | | Description: Function H5Gget_objtype_by_idx failed to handle soft link object. The library returned object type by calling H5G_get_type through H5B_iterate. But H5G_get_type only deals with objects with valid header address which soft link doesn't have. Solution: In H5G_node_type, make soft link a special case by checking if the object type is H5G_CACHED_SLINK. Also added a test of soft and hard links to titerate.c Platforms tested: h5committest and RH 8(fuss).
* [svn-r8712] Fixed bugs in H5I codeJames Laird2004-06-212-1/+12
|
* [svn-r8711] Fixed bugs in H5I code, updated manifest.James Laird2004-06-211-2/+1
|
* [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to ↵James Laird2004-06-1815-406/+1057
| | | | allow users to register IDs and ID types at runtime.
* [svn-r8705] Purpose: Bug fix and new test.Raymond Lu2004-06-181-1/+1
| | | | | | | | | | Description: This is an enhancement after a user reported data writing failure for array datatype of compound type with variable-length type in the v1.6 branch. Solution: Added new test and ran with Purify. Fixed memory errors and leaks in H5Tconv.c. Platforms tested: h5committest
* [svn-r8702] Purpose: Bug fix.Raymond Lu2004-06-171-1/+1
| | | | | | | | | Description: After I added H5S_NULL dataspace dumper test, the output didn't match XML schema for attribute data. Solution: changed. Platforms tested: RH 8(fuss), only dumper is involved, minor change.
* [svn-r8696] Purpose:Quincey Koziol2004-06-164-19/+54
| | | | | | | | | | | | | | | | | Code optimizations Description: Eliminate memset() call in H5S_set_extent_simple(). Use malloc() instead of calloc in H5B<mumble>. Change global heap code to track heap objects that are in use in order to allocate new objects more quickly and also to avoid memset() and calloc() calls. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8694] Purpose:Quincey Koziol2004-06-151-1/+2
| | | | | | | | | | | | Code optimization Description: Avoid memcpy() when setting up new chunk coordinates Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8692] Purpose:Quincey Koziol2004-06-154-14/+18
| | | | | | | | | | | | | Code optimization Description: Avoid making copy of default vlen allocation info when default DXPL is used. Just retarget pointer to point to default info directly. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8690] Purpose:Quincey Koziol2004-06-151-1/+16
| | | | | | | | | | | | Code optimization Description: Be smarter about copying hyperslab selection data and avoid memcpy() calls. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8686] Purpose:Quincey Koziol2004-06-144-29/+39
| | | | | | | | | | | | | Code optimization Description: Eliminate memcpy() when using default DXPL by pointing at existing default object, instead of copying it. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8683] Purpose:Quincey Koziol2004-06-1416-515/+481
| | | | | | | | | | | | | Code optimization Description: Use 'size_t' instead of 'hsize_t' to track the number of elements in memory buffers, especially for type conversion. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8681] Purpose: Take out an unnecessary stepRaymond Lu2004-06-141-4/+0
| | | | | | | | | Description: I put H5T_lock in H5T_open in last checkin but found it's unnacessary. Solution: Took it out. Platforms tested: RH 8(fuss). Simple change.
* [svn-r8679] Purpose:Quincey Koziol2004-06-141-16/+31
| | | | | | | | | | | | | Code optimization Description: Detect when a default property list is being used and just copy over the default VL allocation properties, instead of querying for them. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8677] Purpose:Quincey Koziol2004-06-1410-295/+194
| | | | | | | | | | | | | | | | | | | Code cleanup & optimization Description: Remove old structures that used a union to store information about the dataspace extent and just store the information directly in the dataspace extent itself. Remove ifdef'd references to permutation ordering in dataspaces. We'll definitely need more than this code if/when we implement this feature. Change allocation of dataspace information from calloc() to malloc(). Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8675] Purpose:Quincey Koziol2004-06-132-28/+7
| | | | | | | | | | | | | Code optimization Description: Using existing dataspace extent copying routine instead of duplicating the code (more slowly). Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8673] Purpose:Quincey Koziol2004-06-1316-546/+626
| | | | | | | | | | | | | | | | | | Code optimization Description: Revised dataspace selections to use a more "object oriented" mechanism to set the function pointers for each selection and selection iterator. This reduces the amount and number of times that dataspace selection info has to be copied. Additionally, change hyperslab selection information to be dynamically allocated instead of an inline struct. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8672] Snapshot version 1.7 release 28HDF Admin2004-06-131-2/+2
|
* [svn-r8670] Purpose:Quincey Koziol2004-06-133-16/+128
| | | | | | | | | | | | | Code optimization Description: Avoid a memory copy by directly reading from the variable-length sequence buffer when there is no type conversion on the way to disk. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest