summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-0122-413/+194
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r9172] Purpose:Albert Cheng2004-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | "bug fix" sort of. Description: The current mpicc at TG-NCSA recognizes uint64_t but not int64_t. hdf5 code rightly assumes when the unsigned type is defined, the corresponding signed type should be valid too. So, when it detected uint64_t is valid, it went ahead using int64_t which ended in compiling failure. Solution: Changed the detection to check on int64_t instead. This does not change any logic, just goes around the mpicc compiler error at TG-NCSA. Platforms tested: h5committested and tested at TG-NCSA (pp) too. Misc. update:
* [svn-r9155] Purpose:Quincey Koziol2004-08-251-2/+80
| | | | | | | | | | | | | | | Bug fix (sorta) Description: Change reading of "missing" chunks from datasets with undefined fill values to not overwrite the application buffer with random garbage from memory. Note that this is almost the same, since whatever garbage the application had in those locations will still be there... Platforms tested: FreeBSD 4.10 (sleipnir) IRIX64 6.5 (modi4) h5committested
* [svn-r9154] Elena Pourmal2004-08-252-0/+4
| | | | | | | | | | | | Purpose: Maintenance/bug fixes (OSF1 C++ and missing Fortran APIs) Description: bringing 1.6 changes to 1.7 Solution: Platforms tested: OSF1, Solaris 2.8, AIX5.1 Misc. update:
* [svn-r9134] Snapshot version 1.7 release 35HDF Admin2004-08-221-2/+2
|
* [svn-r9117] Purpose: Minor Bug FixRaymond Lu2004-08-191-2/+2
| | | | | | | | | | | Description: In H5O_fill_new_decode and H5O_fill_new_encode, UINT32DECODE and UINT32ENCODE were used to decode and encode message size, which is ssize_t. Solution: Change to INT32DECODE and INT32ENCODE. Platforms tested: fuss - very simple change. Misc. update:
* [svn-r9108] Purpose: Bug fixRaymond Lu2004-08-181-16/+4
| | | | | | | | | | | Description: In H5O_fill_new_decode, it tries to read message size(-1) when fill value is undefined for version 1. During UINT32DECODE, if the machine is 64-bit, a value 0x00000000ffffffff is returned, which is like a valid value. Solution: If fill value is undefined, don't read the message size, simply assign -1 to it. Platforms tested: fuss - did h5committest for v1.6 already.
* [svn-r9101] Purpose:Quincey Koziol2004-08-174-308/+278
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix Description: 1 - Dataset contiguous storage cache information had a bug where it was possible to try to access invalid cache information if the cache wasn't filled the first time it attempted to loop through the list of offset/length vectors. 2 - Additionally, the contiguous storage cache information was being used in certain circumstances from the chunked dataset I/O code path, which was generally fatal since the chunk storage and contiguous storage information were stored together in a union. Solution: 1 - Avoid special case of first trip through loop over offset/length I/O vectors and always check for the contiguous storage sieve buffer buffer being NULL. 2 - Change the union containing the chunk and contiguous storage cache information into a struct, allowing both to be used at the same time. Platforms tested: FreeBSD 4.10 (sleipnir) h5committested
* [svn-r9089] Snapshot version 1.7 release 34HDF Admin2004-08-151-2/+2
|
* [svn-r9066] Purpose:Robert E. McGrath2004-08-111-9/+9
| | | | | | | | | | | | Bug. See other checkin. Description: Solution: Platforms tested: Misc. update:
* [svn-r9053] Purpose:Quincey Koziol2004-08-082-28/+46
| | | | | | | | | | | | | | | | | | | Bug fix Description: Correct possible core dump when a datatype conversion function is registered with the library after a compound datatype has been converted (having it's type conversion information cached by the library). The compound datatype must have been created by inserting the fields in non-increasing offset order to see the bug. Solution: Re-sort the fields in the compound datatypes before recalculating the cached information when performing the conversion on them. Platforms tested: FreeBSD 4.10 (sleipnir) h5committested
* [svn-r9052] Snapshot version 1.7 release 33HDF Admin2004-08-081-2/+2
|
* [svn-r9037] Purpose:Quincey Koziol2004-08-061-1/+1
| | | | | | | | | | | | Code cleanup/bug fix Description: Check for _O_BINARY being defined instead of O_BINARY, since we actually use _O_BINARY. (Note that this only affects Windows) Platforms tested: FreeBSD 4.10 (sleipnir) Not tested w/h5committest
* [svn-r9024] Purpose:Quincey Koziol2004-08-051-1/+2
| | | | | | | | | | | | | Bug fix Description: Correct buffer overrun in "multi" VFL driver that was writing past the end of the "driver name" buffer when encoding the driver info block for the file's superblock. Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r9022] Purpose: Optimization of the cache code in H5C.John Mainzer2004-08-054-953/+1743
| | | | | | | | | | | | | | | | | | | | | | | Description: Cache was running too slowly. Solution: Added a hash table for indexing. Retained the tree, but only for dirty entries. As we need to flush dirty entries in increasing address order, this is sufficient. Updated statistics collection code for the above. Converted a number of local functions into macros to avoid the function call overhead. Added code to disable the clean and dirty LRU lists in serial mode. Updated test code to account for the above changes. Platforms tested: h5committested + serial, parallel, and fp on Eirene. Misc. update:
* [svn-r9018] Purpose:Albert Cheng2004-08-051-4/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix (Failures when dataset size >= 1 GB, reported by Bill Loewe.) Description: In the IBM AIX system using 32bit mode, if a dataset size was 1GB or larger, when the "end" of the dataset was selected, MPI would complain it could not keep the Upper bound of a datatype within the range of MPI_Aint. This was because the old algorithm would derive the selection with extent of each row first. After all dimensions were processed, it then calculate the start position and just displace the whole MPI derived type. So, the final MPI type was actually the start position plus the whole dataset. Since the start can be as big as the whole dataset, this made the final derived twice as big as 1GB. That would hit the 2GB MPI_Aint range limit in the 32 bit mode. Solution: Use a different algorithm to include the start position in the defining of MPI type for each dimension. When all dimensions are processed, the MPI type represents the selection exactly. Platforms tested: h5committested Misc. update:
* [svn-r9009] Purpose:Robert E. McGrath2004-08-041-2/+26
| | | | | | | | | | | | | Update Szip to accept 'n-bit' data Description: See earlier checkins. Solution: Platforms tested: Misc. update:
* [svn-r8987] Purpose:Quincey Koziol2004-08-027-23/+19
| | | | | | | | | | | | Code cleanup Description: Fix another batch of minor differences between the development and release branches. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8983] Purpose:Quincey Koziol2004-08-021-4087/+4488
| | | | | | | | | | | | Update dependencies Description: Update dependencies after config/depend1.in bugfix Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel IRIX64 6.5 (modi4) h5committested
* [svn-r8981] Purpose:Quincey Koziol2004-08-0221-723/+683
| | | | | | | | | | | | | 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-r8979] Snapshot version 1.7 release 32HDF Admin2004-08-011-2/+2
|
* [svn-r8969] Purpose:Quincey Koziol2004-07-302-53/+35
| | | | | | | | | | | | | | | | | | | | | | | | Bug fix. Description: Address two problems: - The computation of the scanline in the szip filter was being performed in the "can apply" callback routine instead of the "set local" routine. - The routine which allocated all the chunks for an entire dataset (which is invoked when the allocation time is early or late, rather than incremental) wasn't recording a failed filter in the information for the chunk, causing the library to believe that the chunk had the filter applied when it really hadn't. Solution: - Move the scanline computation to the "set local" callback. - Record the filter mask with each chunk created when allocating them. Platforms tested: FreeBSD 4.10 (sleipnir) w/szip Too obscure to require h5committest
* [svn-r8964] Purpose:Quincey Koziol2004-07-282-6/+43
| | | | | | | | | | | | Revise new feature Description: Add buffer type and version # bytes to the encoded datatype and dataspace buffers (for H5Tencode & H5Sencode) Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r8962] Purpose:Quincey Koziol2004-07-281-3/+3
| | | | | | | | | | | | | | | Bug fix Description: Allow I/O on extendible chunked datasets with (currently) zero-sized dimensions to proceed harmlessly instead of dumping core on an assertion. Solution: Removed assertion and added checks to avoid problem situation in H5TB_end Platforms tested: FreeBSD 4.10 (sleipnir) w/ & w/o parallel Too minor to require h5committest
* [svn-r8958] Purpose:Quincey Koziol2004-07-271-1/+3
| | | | | | | | | | | | | Bug fix Description: Always write fill values to chunks when initializing entire B-tree and any filters are defined. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require h5committest
* [svn-r8953] James Laird2004-07-275-0/+59
| | | | | | | | | | | | | | | | Purpose: Bug fix Description: When a simple dataspace is created, its extent should be set before using it, or it will silently function as a NULL dataspace. Solution: Added checks on user-supplied dataspaces. Now dataspaces without extents set will throw errors; users must explicitly set a dataspace to be NULL. Platforms tested: sleipnir, windows
* [svn-r8946] Purpose:Quincey Koziol2004-07-267-20/+50
| | | | | | | | | | | | | | | | | | 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-r8944] Purpose:Quincey Koziol2004-07-261-2/+4
| | | | | | | | | | | | Code optimization Description: Eliminate duplicated call to H5T_detect_class() Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8943] Purpose:Quincey Koziol2004-07-261-0/+2
| | | | | | | | | | | | Bug fix Description: Close memory leak I introduced in H5Sencode() routine. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8941] Purpose:Quincey Koziol2004-07-261-2/+6
| | | | | | | | | | | | | | Code optimization Description: Changed calloc() calls to malloc() calls allocating background buffers during dataset writes, since the background buffer information will be read from disk anyway, overwriting any existing values. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8938] James Laird2004-07-232-3/+8
| | | | | | | | | | | | | | | | | | | Purpose: Bug fix Description: Modification time test (mtime) would die silently on some systems. This is because the code is very system-dependant (it relies on getting the current time and the timezone from the OS). Solution: mtime test now uses TEST_ERROR macro to print "FAILED" and to output where the failure occurred. Configure script is a little smarter about whether gettimeofday() function returns the timezone correctly. Further bugs will need to be addressed on a system-by-system basis. Platforms tested: sleipnir, arabica, verbena, copper, windows (VC7)
* [svn-r8936] Elena Pourmal2004-07-221-5/+5
| | | | | | | | | | | | | | | | Purpose: Bug fix Description: While working on the SZIP documentation with Frank, I realized that when scanline was less than 4k and bigger than pixels_per_block, it was not adjusted if number_of_blocks_per_scanline was bigger than max_number_of_blocks_per_scanline. Solution: Fixed the code. Unfortunately it didn't help with the problem I had using h5repack with DOQGROD.he5 file. Platforms tested: copper Misc. update:
* [svn-r8932] Purpose:Quincey Koziol2004-07-2211-401/+437
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Clean up collective chunking code a bit. Also, add '--enable-instrument' configure flag to have a mechanism for determining that optimized operations happened correctly in the library (instead of just the "normal" way) by allowing 'flag' properties to be set outside the library and set when the "right" thing happens. This is mainly for debugging and regression checks, so we make certain we don't break optimized I/O by accident. It's enabled by default when --enable-debug is on (which is on by default in the development branch and off by default in the release branch), but can also be independently controlled with its own configure flag. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel IBM p690 (copper) w/parallel
* [svn-r8927] Purpose:Quincey Koziol2004-07-226-102/+58
| | | | | | | | | | | Code cleanup Description: Clean up various recent changes a little. Platforms tested: FreeBSD 4.10 (sleipnir) Too minor to require h5committest
* [svn-r8923] Purpose:MuQun Yang2004-07-211-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To add a special section of codes for collective-chunk IO tests. Description: The current patch of collective chunk IO support in HDF5 can only handle some special("however, can cover many applications") cases, Inside source code, we did a careful checking to make sure other cases would not fall into this category and would not use collective IO. We also would like to test whether those collective conditions were met in our test programs. The current parallel HDF5 handled those collective IO requests in a special way. If the library finds it cannot do collective IO, it will silently change to independent IO. So basically there is no better way to check whether the library is doing what it should do without "hacking" into HDF5 source codes for the purpose of testing. But the "hacking" should not affect library work and should be easily pulled out after we get more general collective IO algorithm to work. With Quincey's suggestion, we used HDF5 property APIs to finish the job. Solution: The approach includes three parts: 1) In the test program, insert a property inside data transfer property list. Set a default value for this property. 2) Inside H5Dio.c, when the library finds that it cannot do collective IO with chunking storage, it will change the default value. 3) Then the test program will recheck the value after H5Dwrite or H5Dread to evaluate whether the current collective IO case is doing the right thing. Note: The test won't stop after it finds that the library is not doing the right thing and probably it will finish normally. The current approach is that the test program just printed out an error message. It should be changed later. Platforms tested:o copper,arabica,eirene Misc. update:
* [svn-r8922] Purpose: Restore the original codeRaymond Lu2004-07-211-1/+1
| | | | | | | | Description: Line 38, "#define H5_NO_FREE_LISTS" were commented out during debugging Solution: put back in. Platforms tested: No test needed
* [svn-r8921] Purpose: new featureRaymond Lu2004-07-219-24/+298
| | | | | | | | | | | | | | Description: This is the second step of checkin for encoding and decoding objects. H5Tencode and H5Tdecode have been committed in the previous step. H5Sencode and H5Sdecode are checked in this time. Solution: Given object ID, these functions encode and decode object information into and from binary buffer and return new object ID. They take advantage of the existing codes of object header message and encode in the same format. Platforms tested: fuss and h5committest. Misc. update: RELEASE.txt
* [svn-r8915] Elena Pourmal2004-07-211-12/+28
| | | | | | | | | | | | | | | | | | | Purpose: Improvement Description: HDF5 Library set pixels_per_scanline parameter to the size of the chunk's fastest changing dimension. As a result, fastest changing dimension of the chunk could not be bigger than 4K and smaller than pixels_per_block value and szip compression couldn't be used for many real datasets. Solution: Reworked algorithm how HDF5 sets pixels_per_scanline value; only chunks with the total number of elements less than pixels_per_block value are rejected. There is no restriction on the size of the chunk's fastest changing dimension anymore. Platforms tested: verbena, copper, sol Misc. update:
* [svn-r8906] Purpose:MuQun Yang2004-07-207-27/+196
| | | | | | | | | | | | | | | | | | | | | | | Adding the first round of patches about supporting collective chunk IO in HDF5 Description: The current HDF5 library doesn't support collective MPIO with chunk storage. When users set collective option in their data transfer with chunk storage, the library silently converted the option to INDEPENDENT and that caused trememdous performance penalty. Some application like WRF-parallel HDF5 IO module has to use contiguous storage for this reason. However, chunking storage has its own advantage(supporting compression filters and extensible dataset), so to make collective MPIO possible inside HDF5 with chunking storage is a very important task. This check-in make collective chunk IO possible for some special cases. The condition is as follows(either case is fine with using collective chunk IO) 1. for each process, the hyperslab selection of the file data space of each dataset is regular and it is fit in one chunk. 2. for each process, the hyperslab selection of the file data space of each dataset is single and the number of chunks for the hyperslab selection should be equal. Solution: Lift up the contiguous storage requirement for collective IO. Use H5D_isstore_get_addr to get the corresponding chunk address. Then the original library routines will take care of getting the correct address to make sure that MPI FILE TYPE is built correctly for collective IO> Platforms tested: arabica(sol), copper(AIX), eirene(Linux) parallel test is checked at copper. Misc. update:
* [svn-r8905] Purpose:MuQun Yang2004-07-201-1/+2
| | | | | | | | | | | | | | | | bug fix for windows testing Description: A function called H5C_stats_reset doesn't have H5_DLL in front of it, it cause windows DLL test failed. Solution: Add H5_DLL in front of it. Platforms tested: windows xp, sol 2.7, linux 2.4, aix 5.1 Misc. update:
* [svn-r8901] Purpose:Quincey Koziol2004-07-201-4/+2
| | | | | | | | | | | | Bug fix Description: Allow buffer parameter to H5Dread & H5Dwrite to be NULL if there are no elements to transfer. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
* [svn-r8899] James Laird2004-07-201-0/+3
| | | | | | | | | | | | | | | | Purpose: Bug Fix Description: Calling H5Sset_extent_simple to change a dataspace's maxdims from nonzero to zero causes errors (infinite loops, seg faults, asserts) because the pointer to the maximum size isn't cleaned up properly Solution: Clean up that pointer. Added a test for this case. Platforms tested: sleipnir (very minor change)
* [svn-r8897] James Laird2004-07-201-0/+7
| | | | | | | | | | | | | | | | | Purpose: Bug Fix Description: Trying to create the root group or the working group ("/" or ".") fakes out HDF5 so that it neither creates a group nor returns an error. Solution: H5G_namei now throws an error if it was supposed to insert but didn't. Platforms tested: sleipnir, Visual Studio 7 (very minor change) Misc. update:
* [svn-r8892] Purpose:Quincey Koziol2004-07-1610-123/+140
| | | | | | | | | | | | | | Code cleanup Description: Clean up a bunch of warnings and bring new code better inline with current library coding practice. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest Misc. update:
* [svn-r8888] Purpose:Quincey Koziol2004-07-161-2/+2
| | | | Bump version # after making snapshot
* [svn-r8881] James Laird2004-07-152-3/+3
| | | | | | | | | | | | Purpose: Bug fix Description: Replaced "unsigned long long" with hsize_t in H5MF Added "return 0" at end of reserved.c test Platforms tested: arabica, sleipnir
* [svn-r8879] Raymond Lu2004-07-1410-4/+258
| | | | | | | | | | | | | | Purpose: New feature Description: New API H5Tencode and H5Tdecode. Given object ID, H5Tencode encodes object information into a binary form. H5Tdecode decode an object information in a binary form, reconstructs the object and return a new object ID. Solution: Use object header functions H5O_dtype_decode and H5O_dtype_encode to facilitate them. The encoded binary is exactly like object header information. This is the first step checkin. Will check in H5Sencode and H5Sdecode later. Platforms tested: h5committed and fuss. Misc. update: will update release.txt after 2nd step checkin.
* [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