summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r9723] Purpose:before_signed_unsigned_changesQuincey Koziol2004-12-292-0/+63
| | | | | | | Add new file Description: Add new PC-Lint/Flexelint configuration files
* [svn-r9700] Purpose:John Mainzer2004-12-221-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a bug in the cache caused by a slightly over active sanity check. Description: When the #define H5C_DO_SANITY_CHECKS is TRUE, the macro H5C__DLL_PRE_INSERT_SC is executed prior to inserting an entry in the LRU list. The macro performs a variety of sanity checks, and flags an error if any of the checks fail. Prior to this update, the macro used to check to see if the target list had length 1 and size <= 0. The new epoch marker entries used in the age out cache size reduction algorithm have size zero -- making it possible for this sanity check to fail incorrectly. Note that cache sanity checks are disabled in the CVS version of the code, so this bug and bug fix should be invisible unless you are working with the cache, and turn the sanity checks on. Solution: Removed the offending clause in H5C__DLL_PRE_INSERT_SC. Since the size used in the macro is typically a size_t and thus cannot have negative value, there was no point in changing it to "size < 0". Platforms tested: Ran a serial test on heping. Under the circumstances, I didn't feel the need for further testing. Misc. update:
* [svn-r9687] Purpose:John Mainzer2004-12-185-750/+3525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the cache code (H5C) to support automatic cache resizing to adapt to the work load at run time. Description: Different applications require different sized caches to maintain an acceptable hit rate. This set of changes attempts to provide the ability to adjust to circumstances automatically. Solution: Added highly configurable code to allow the user to either set a fixed cache size, or allow the cache to grow and shrink according to conditions. If enabled, cache size increases are triggered when the hit rate drops below a user specified threshold in a user specified interval. Cache size reductions (if enabled) are triggered when either the hit rate exceeds some user specified threshold over a user specified interval, when the cache contains "enough" entries that haven't been accessed for a user specified interval, or some mix of the above. See the header comments on the H5C_auto_size_ctl_t structure in H5Cprivate.h for further details. At present, the cache resize configuration options are not accessible via the user API. Must add this. Platforms tested: h5committested, heping (serial), and copper (parallel) Misc. update:
* [svn-r9665] Purpose:Quincey Koziol2004-12-141-0/+1
| | | | | | | | | | Fix whitespace Description: Clean up whitespace a bit Platforms tested: None, just eyeballed, very minor
* [svn-r9657] Purpose:MuQun Yang2004-12-131-2/+2
| | | | | | | | | | | | | | | | | | small bug fix Description: When checking whether the current chunk covers the irregular hyperslab, the ending point of the chunk is not updated. This will cause the wrong checking output and fail for some irregular hyperslab selection. Solution: Updating the ending point of the chunk. Platforms tested: Linux 2.4 + parallel (too small to use h5committest) Misc. update:
* [svn-r9655] Snapshot version 1.7 release 44HDF Admin2004-12-125-625/+625
|
* [svn-r9654] Purpose:Raymond Lu2004-12-103-3/+6
| | | | | | | | | | | | | Description: In file H5FDsec2.c and H5FDlog.c, there's statements like H5_ASSIGN_OVERFLOW(file->eof,sb.st_size,off_t,haddr_t); It assumes sb.st_size from h5_stat_t is of type off_t. But on Windows, it has type __int64. So the H5_ASSIGN_OVERFLOW statement may cause problem. Instead of trying to do switch between Windows and other systems in H5FDsec2.c and H5FDlog.c, define a substituting type in H5private.h to fix the problem. On Windows, this type is __int64; on other systems, it is off_t. Platforms tested: fuss. Simple fix. Already did h5committest for v1.6.
* [svn-r9648] Purpose:MuQun Yang2004-12-081-0/+3
| | | | | | | | | | | | | | | | | | | bug fix Description: The irregular hyperslab span_tree implementation inside H5S_hyper_add_span_element_helper updating the high bound of the span, but forget updating the number of element of the span. New routine obtain_derived_datatype catches the bug. Solution: Updating the number of element of the span as well. Platforms tested: Linux 2.4 and AIX 5.1, both with parallel enabled. Misc. update:
* [svn-r9617] Snapshot version 1.7 release 43HDF Admin2004-12-051-2/+2
|
* [svn-r9615] Purpose:Quincey Koziol2004-12-042-1/+67
| | | | | | | | | | | New feature Description: Add callback iteration routine to skip lists. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r9601] Purpose:Quincey Koziol2004-11-302-17/+46
| | | | | | | | | | | New feature Description: Allow skip list keys to be strings (needed for property list support) Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r9598] Purpose:Quincey Koziol2004-11-293-16/+60
| | | | | | | | | | | | | New internal feature Description: Add a "release" routine to the skip lists, which releases all the nodes in the skip list, but keeps the skip list active. Platforms tested: FreeBSD 4.10 (sleipnir) Linux 2.4 (verbena) Too minor to require h5committest
* [svn-r9596] Purpose:Quincey Koziol2004-11-294-218/+165
| | | | | | | | | | | | | Code optimization Description: Retarget metadata cache code from using TBBT routines to using new skiplist routines, for a reasonable speedup (when dealing with dirty metadata) Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9592] Purpose:Quincey Koziol2004-11-291-2/+3
| | | | | | | | | | | | | | | | | Bug fix Description: Re-work array of 'forward' pointers in a way that makes the PGI compiler more happy. Solution: Change from 'H5SL_node_t *forward[1]' to 'H5SL_node_t **forward' and change how array of forward pointers is dealt with. Platforms tested: Linux 2.4 (verbena) w/PGI FreeBSD 4.10 (sleipnir) Configuration not tested w/h5committest
* [svn-r9587] Purpose:Quincey Koziol2004-11-281-8/+13
| | | | | | | | | | | | | | | | | | | | Bug fix Description: Correct off-by-on error which could cause invalid # of levels to be used for a skip list node, in rare circumstances. Change from srandom()/random() to more portable srand()/rand() routines for random # generation. Pre-compute the probability factor for computing the level of new nodes, for a minor speedup. Platforms tested: FreeBSD 4.10 (sleipnir) IRIX64 6.5 (modi4) Solaris 2.8 (sol) AIX 5.1(?) (copper)
* [svn-r9585] Purpose:Quincey Koziol2004-11-272-39/+25
| | | | | | | | | | | | | | Code optimization Description: Begin de-orbital burn of threaded, balanced binary tree code use by switching file open object code over to using them. Initial benchmarks show that skip lists are 5-10x faster than our TBBT code... Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9584] Purpose:Quincey Koziol2004-11-272-5/+6
| | | | | | | | | | | | | | | Code optimization Description: Revise mechanism for calling H5open/H5check to better avoid calling them from internal libray code. Only copy a datatype's group entry information if it has some. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9580] Purpose:Quincey Koziol2004-11-279-20/+845
| | | | | | | | | | | | | | | | | | | | Add new internal data structure Description: Add an implementation of skip lists to the library (see comment in src/H5SL.c for references to the papers describing them) as a potential replacement for our current threaded, balanced binary tree container. Skip lists are much simpler to implement and should be faster to use. Also, added new error codes to release branch, so bump the minor version number to indicate that the library is no longer perfectly compatible with the 1.6.3 release. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require further testing (the skip lists aren't actually used by any library code yet)
* [svn-r9574] Purpose:MuQun Yang2004-11-242-13/+37
| | | | | | | | | | | | | | | Adding code for using MPI derived datatype to handle collective IO Description: No testing yet, won't affect the library. Solution: Platforms tested: linux 2.4 + mpich 1.2.6 Aix 5.1 + mpcc_r Misc. update:
* [svn-r9563] Purpose:Quincey Koziol2004-11-233-39/+134
| | | | | | | | | | | | | Code optimization Description: Change how default allocation time is handled internally to the library, to avoid some performance issues with property lists. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9559] Purpose:Quincey Koziol2004-11-224-26/+34
| | | | | | | | | | | | | Code optimization Description: Switch a few more malloc/free pairs over to using internal free list code, to avoid abusing system memory allocator as badly. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9556] Purpose:Quincey Koziol2004-11-2221-145/+272
| | | | | | | | | | | | | | | | | | | | | Code cleanup & optimization Description: Improve ADF/CGNS benchmark by reducing the number of internal attribute copies made during creations, opens and writes. Added new H5O_iterate() routine for iterating through messages of a certain type in the object header (attributes are the only message currently that can have multiple instances in the object header). Cross-pollinated various minor code cleanups to reduce diffs between branches. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9552] Purpose:Quincey Koziol2004-11-193-38/+76
| | | | | | | | | | | | | | | | | Code optimization Description: Avoid making as many copies of attribute information. Also, be smarter about which properties we've seen before when copying and closing property lists. Fix memory leak of attribute data structures. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9550] Purpose:Quincey Koziol2004-11-182-5/+13
| | | | | | | | | | | | | Code optimization Description: Rework & move around some of the macros for querying balanced properties of nodes to speed up tree balancing code. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9540] Purpose:Quincey Koziol2004-11-182-7/+17
| | | | | | | | | | | | | | Code optimization Description: Change threaded, balanced binary tree insertion routine to use more efficient "fast" search routine when trees with "fast compare" routines have objects inserted into them. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9539] Raymond Lu2004-11-181-10/+27
| | | | | | | | | | | | | | | | | | Purpose: Correction to previous bug fix. This checkin is mainly to let user test his program. Description: For family driver bug(#213), the previous fix was imperfect. The problem was when user create family file, the member size information wasn't saved in file. When the file was re-opened, the library simply use the size of 1st member file as member size. Solution: When file is re-opened, member size passed in from access property is checked to see if it's reasonable. If there is only 1 member file, member size can't be smaller than current member size. If there are at least 2 member files, member size can only be equal to the 1st member size. Platforms tested: h5committest and fuss
* [svn-r9537] Purpose:Quincey Koziol2004-11-176-87/+177
| | | | | | | | | | | | | | | | | | | | | | | Code cleanup & optimizations Description: Clean up some of the code in attributes to avoid allocating memory and performing type conversions when the conversion is a noop. Avoid memory allocations of attribute data structures by switching to use library's free list memory allocator routines. Avoid memory allocations of object header continuation data structures by switching to use library's free list memory allocator routines. Rearrange threaded, balanced binary tree macros slightly to avoid some overhead. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r9535] Purpose:Quincey Koziol2004-11-171-1/+0
| | | | | | | Correct typo in comment. Platforms tested: Not tested - too minor
* [svn-r9531] Purpose: Bug fix(#213)Raymond Lu2004-11-162-9/+17
| | | | | | | | | | | | | Description: H5Pset_fapl_family sets family member size only for creating new file. The file doesn't keep this size information. When the file is re-opened, the size of first member file is used as the member size. Solution: Assume user knows the original member size and sets it through H5Pset_fapl_family. That will be the member size. User can pass in value 0 as member size if he doesn't know the original member size. Library will choose the size of current first member size as the member file size. Platforms tested: h5committest and fuss.
* [svn-r9529] Purpose:MuQun Yang2004-11-153-33/+99
| | | | | | | | | | | | | | | | | | | Check in some new fixes for MPI derived datatype routines Description: MPI derived datatype algorithm seems working for a simple case; however, there are still other problems need to be solved. So the code cannot be used for the time being. Check-in only for debugging. It won't affect other part of the library. Solution: Platforms tested: Linux 2.4 (heping, serial and parallel) (Since no new tests were added and changes are mostly restricted to one fuction, no need to test three platforms). Misc. update:
* [svn-r9527] Snapshot version 1.7 release 42HDF Admin2004-11-141-2/+2
|
* [svn-r9526] Purpose:Quincey Koziol2004-11-121-3/+1
| | | | | | | | | | | | | | Bug fix, sorta. Description: Revert change to H5Pget_data_transform() which changed len of buffer returned to be inconsistent with H5Iget_name(), etc. We should discuss this change and apply it to all the similar functions if we decide to change the return value. Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r9524] Purpose:Leon Arber2004-11-122-5/+17
| | | | | | | | | | | | | | | | | | | Bug Fix Description: Fixed off by one error in H5Pget_data_transform Solution: H5Pget_data_transform, when queried for the size of the property, should return strlen() + 1 so that the user can allocate memory for the terminating \0 in the string. Also fixed a typo in a comment in H5Ztrans.c Platforms tested: eirene, too minor to require further testing. Misc. update:
* [svn-r9519] Purpose:MuQun Yang2004-11-115-0/+515
| | | | | | | | | | | | | | | | | | | | Adding codes for the general MPI derived datatype in order to better incorporate new fixes of HDF5 library. Description: Note: These codes have not been tested for general use. Don't call these functions in your developments of the HDF5 library. Also these codes are stand-alone codes, they should not affect other library codes. Solution: Platforms tested: Heping(C and Parallel linux 2.4, mpich 1.2.6) Arabica(C,C++,Fortran, Solaris 2.7) Copper(C,c++,Fortran, AIX 5.1, NOTE: c++ FAILED, seems not due to the recent check-in) Misc. update:
* [svn-r9516] Purpose:Quincey Koziol2004-11-101-2/+5
| | | | | | | | | | | | | | Bug fix Description: Fix code to allow --debug-enable=all option to work correctly. Solution: Update some ifdef'ed code with recent changes. Platforms tested: Linux 2.4 (heping) w/--enable-debug=all Too minor to require h5committest
* [svn-r9513] Snapshot version 1.7 release 41HDF Admin2004-11-071-2/+2
|
* [svn-r9495] Purpose:Robert E. McGrath2004-11-023-8/+4
| | | | | | | | | | | | Fix SZIP filter to dynmically detect encoder. Description: Solution: See: http://hdf.ncsa.uiuc.edu/RFC/SZIP/Szip_dynamic_12_Oct.pdf Changes to h5dump tests, contingent on detecting SZIP encoder.
* [svn-r9474] Purpose:MuQun Yang2004-10-272-3/+23
| | | | | | | | | | | | | | | | | Updating H5api_adpt.h to help the implementation of Fortran DLL on windows. Description: 1. More functions need to be added prefix macro for exporting and importing fortran DLL on Windows. 2. unlink was _unlink on windows and use HDunlink to specify this. Solution: Platforms tested: linux 2.4(h5committest not finished yet, but should work since the change is minor and it is passed with pgi compiler) Misc. update:
* [svn-r9469] Purpose:Quincey Koziol2004-10-277-26/+15
| | | | | | | | | | | | | Code cleanup Description: Clear up some inconsistencies, inefficiencies and possible errors between the release and development branch. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Linux 2.4 (heping) w/C++ & FORTRAN
* [svn-r9466] Purpose:Quincey Koziol2004-10-272-9/+4
| | | | | | | | | | | Bug fix Description: Clean up potential buffer overflow in strncpy() Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r9461] Purpose:Leon Arber2004-10-263-19/+41
| | | | | | | | | | | | | | | | | | | | | Changed functionality of H5Pget_data_transform Description: H5Pget_data_transform no longer allocates memory for the transform string...it is the user's responsbility to do so. Solution: Made H5Pget_data_transform be more in line with other functions that do similiar things: User now has to allocate memory for the string themselves and specify how much of the string should be copied into the buffer. There is also support for querying the length of the transform string. Platforms tested: sol + eirene + copper Misc. update:
* [svn-r9459] Purpose:Quincey Koziol2004-10-266-143/+96
| | | | | | | | | | | | | Code cleanup Description: Clean up minor warnings and align with release branch. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & FPH5 Solaris 2.7 (arabica) w/production mode Linux 2.4 (heping) w/C++ and FORTRAN
* [svn-r9457] Purpose:HDF Admin2004-10-251-13/+43
| | | | | | | | | | | | | | | | | | | Bug fix. Description: The previous H5_ULLONG_TO_FP_CAST_WORKS fix does not quite work since the problem was an error during compiling while the fix was trying to check for the error condition during runtime. The MS-Compiler still complains about not supporting ULLONG to Float. Solution: A temperary patch is to have two #define of H5Z_XFORM_TYPE_OP according to if H5_ULLONG_TO_FP_CAST_WORKS is defined. This works but a better solution is needed. Platforms tested: Windows (by Kent) and heping (Linux by me).
* [svn-r9455] Snapshot version 1.7 release 40HDF Admin2004-10-241-2/+2
|
* [svn-r9445] Purpose: Bug fixRaymond Lu2004-10-213-28/+28
| | | | | | | | | | | Description: "char" was considered as always "signed char" in data type conversion. However, ISO C leaves the definition of "char" to individual implementation. i.e. for IBM AIX C compiler, it's treated as "unsigned char". Solution: Changed all "char" to "signed char". Don't even do "char" anymore because its definition is up to each vendor. Platforms tested: h5committest
* [svn-r9441] Purpose:Leon Arber2004-10-202-327/+86
| | | | | | | | | | | | | | | | | | | | Code refactor Changed functionality of H5Pget_data_transform Description: Rewrote much of H5Ztrans.c to use macros, which cut down on the amount of code significantly. H5Pget_data_transform now allocates memory for the data transform string, copies the string into this memory, and returns this pointer to the user, instead of returning a pointer to the internal transform string stored by hdf. It is the user's responsibility to free this memory when they are done with it. Platforms tested: sol + eirene + copper Misc. update:
* [svn-r9440] Purpose:Leon Arber2004-10-201-18/+19
| | | | | | | | | | | | | | | | | | | Bug fix Description: Fix typo in #ifdef for unsigned long long to double conversion. Changed WIN32 check to H5_ULLONG_TO_FP_CAST_WORKS This check-in (and the one before it) also includes a large code-refactoring that is still in progress. Solution: the ifdef for the plus case was checking unsigned long instead of unsigned long long. Moved the check to the right location. Platforms tested: sol+eirene Misc. update:
* [svn-r9433] Purpose:Quincey Koziol2004-10-191-1/+4
| | | | | | | | | | | | | | | | Bug fix Description: Fix core dump when flushing a file with a newly created attribute which hasn't had a value written to it still open. Solution: Write the attribute fill value when appropriate. Platforms tested: FreeBSd 4.10 (sleipnir) Linux 2.4 (verbena) Solaris 2.7 (arabica)
* [svn-r9430] Purpose:Leon Arber2004-10-181-1684/+272
| | | | | | | | | | | | | | | | Bug fix. Description: The windows compiler apparently cannot convert from unsigned long long to double. This conversion is necessary for the data transform to work properly in some cases. Solution: Added #ifdef to check for windows and issue error when user attempts to do a data transform on a long long type. Platforms tested: sol + eirene
* [svn-r9422] Purpose:Leon Arber2004-10-141-528/+1379
| | | | | | | | | | | | | Description: Code optimization and refactoring. Added support for llong, ullong, and ldouble Solution: Significantly cut down on the amount of code required to do the transform, while making the operations more efficient. Platforms tested: sol + eirene