summaryrefslogtreecommitdiffstats
path: root/src/H5Dchunk.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix for HDFFV-7853 H5Ocopy to 1.8 branchVailin Choi2017-07-111-8/+83
| | | | | | | Apply the fix for HDFFV-7853 H5Ocopy from develop to 1.8 branch. This is the similar set of changes as in develop branch. Some coding is added to do the copying because 1.8 does not flush out the storage address when writing to a dataset.
* Change copyright headers to replace url referring to file to belrknox2017-05-161-6/+4
| | | | removed and replace it with new url for COPYING file.
* Change position of declaration to top of blockAllen Byrne2017-05-111-425/+426
|
* Incorporate additional code changes for the H5DOread_chunk patch from GE ↵Vailin Choi2017-05-031-36/+38
| | | | | | | | | healthcare (HDFFV-9934) Incorporate the code changes that were missing from the original patch: (1) Additional tests in hl/test/test_dset_opt.c (2) Fix in src/H5Dchunk.c for direct access when an entry is in chunk cache but not dirty Tested on playtpus, ostrich, kituo, mayll, osx1010test, quail, emu.
* Fix illegal references for sanity checks.Vailin Choi2017-04-061-6/+5
| | | | | Correct illegal references for HDassert() checks when in debug mode. Tested on emu, osx1010test, mayll, kituo, ostrich.
* Incorporate patch from GE Heathcare (HDFFV-9934)Vailin Choi2017-04-031-45/+261
| | | | | | | 1) Integrate the patch 2) Fix bugs when debugging the patch 3) Add test to hl/test/test_dset_opt.c Tested on moohan, ostrich, platypus, emu, osx1010test, quail, kituo, mayll.
* [svn-r27941] Merge r27939 from trunkJerome Soumagne2015-10-021-14/+22
| | | | | Add internal library callback to H5S_select_iterate to avoid having to pass hid_t objects internally
* [svn-r27165] Merge 27133 & 27158 from trunk:Mohamad Chaarawi2015-06-081-9/+9
| | | | | | | | | - Add a new attribute function characterstic for format: * H5_ATTR_FORMAT(X,Y,Z) __attribute__((format(X, Y, Z))) - Rename UNUSED attribute characterstic to H5_ATTR_UNUSED. - Rename NORETURN attribute characterstic to H5_ATTR_NORETURN tested with h5committest.
* [svn-r27108] Description:Quincey Koziol2015-05-231-71/+55
| | | | | | | | | | Bring r26213 from trunk to 1.8 branch: Minor code cleanups, to align with revise_chunks branch. Tested on: Mac OSX/64 10.10.2 (amazon) w/serial & parallel (h5committested on trunk for 2+ weeks)
* [svn-r27099] Merge of r27045 from trunkDana Robinson2015-05-181-24/+24
| | | | | | | | | Renamed H5_ASSIGN_OVERFLOW() to H5_CHECKED_ASSIGN() and re-ordered the arguments to be in a more logical order. Fixes HDFFV-9322 Tested on: h5committest
* [svn-r25996] - merge changes from trunk to eliminate usage of IS_H5FD_MPI Macro.Mohamad Chaarawi2015-01-211-1/+1
| | | | | | - add 2 missing feature flags for VFDs: H5FD_FEAT_HAS_MPI & H5FD_FEAT_ALLOCATE_EARLY and use them as appropriate. tested with h5commitest
* [svn-r25543] merge 25509 & 25524 from trunk.Mohamad Chaarawi2014-08-221-40/+219
| | | | | | | Optimize chunked dataset fill operation by making it collective. + add a workaround for new algorithm to work with ompi. Update RELEASE.txt with this new optimization.
* [svn-r25393] fix HDFFV-8761:Mohamad Chaarawi2014-07-031-2/+4
| | | | allocating space for zero-length chunked dataset and asserting.
* [svn-r25198] Description:Quincey Koziol2014-05-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r25197 from trunk to 1.8 branch: Bring changes from hdf5_1_8_coverity branch back to trunk: r20878: Issue 76: Check if H5Tget_nmembers(type) fails and simply return(FALSE). Also move printf to after check. r20880: Issue 192: Create ret_val var set to -1. Add out label for failures to jump to, return ret_val at bottom. r20882: Fixes for coverity: 1) bug #1679: remove dead code in test/mf.c 2) bug #1680: remove dead code in tools/lib/h5diff_dset.c r20883: Fix coverity issue 585 Description: Changed variable "c" in processStrData in h5import.c to an int, to match fgetc return value, and removed call to feof, instead checking if c == EOF. Tested on: MacOSX/64 10.9.3 (amazon) w/C++, FORTRAN & parallel (too minor to require h5committest)
* [svn-r25140] Commit Joel's fix to this branch.Albert Cheng2014-05-011-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Bug Fix: HDFFV-8247 Description: Failure to write fill values to the user's buffer when reading unallocated chunks from datasets that have a fill value set to H5D_FILL_VALUE_DEFAULT. A consequence of this was the reporting of spurious data values in h5dump and h5diff output. Solution: Added check for fill value of H5D_FILL_VALUE_DEFAULT whenever fill value setting was checked to decide whether or not to fill. This effectively treats H5D_FILL_VALUE_DEFAULT the same as H5D_FILL_VALUE_USER rather than H5D_FILL_VALUE_UNDEFINED. Tested: h5committest (platypus, ostrich, jam-pp, koala) ran successfully (fillval test was modified to reveal and check for this error) H5Dchunk.c: fix in library code. fillval.c: Added test_partalloc to expose potential fill value issues.
* [svn-r24785] Description:Quincey Koziol2014-03-121-33/+51
| | | | | | | | | | | | | Bring r24769 & r24772 from trunk to 1.8 branch: Check in Mohamad's changes to support collective I/O on point selections, along with some other minor cleanups. Correct some dynamically sized arrays that fail on Windows. Tested on: Mac OSX/64 10.9.2 (amazon) w/parallel (And has been through the daily test regime on the trunk)
* [svn-r24720] bring r24709 from trunk:Mohamad Chaarawi2014-02-181-16/+16
| | | | | | | rename H5V to H5VM since H5V is needed in the fastforward project for view objects. The addition of view objects in the fastforward project is expected to be brough into the trunk sometimes in the future, which is why we need to make this change.
* [svn-r24156] Port r23987 from trunk to 1.8 branch.Neil Fortner2013-09-181-1/+0
| | | | | | | | | | | | | | | | Tested: jam, koala, ostrich, platypus (h5committest) Log from r23987: Merge r23939 from reduce_warning branch to trunk Tested: jam, koala, ostrich (h5committest) Log from r23939: Fix unused variables warnings in trunk Rename static functions in H5Adense.c, H5B2cache.c, H5Bcache.c Switch these functions to use FUNC_ENTER_STATIC* macros Tested: koala
* [svn-r23719] Description:Quincey Koziol2013-05-291-5/+5
| | | | | | | | | | | | Bring r23713 and r23717 from trunk to 1.8 branch: Clean up warnings, switch library code to use Standard C/POSIX wrapper macros, remove internal calls to API routines, update checkapi and checkposix scripts. Tested on: Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN Big-Endian Linux/64 (ostrich)
* [svn-r23182] I'm merging the changes for DECTRIS project from the trunk ↵Raymond Lu2013-01-211-0/+102
| | | | | | (r23162). Tested on koala, jam, ostrich.
* [svn-r22647] Description:Quincey Koziol2012-08-091-1/+3
| | | | | | | | | | | Bring r22646 from trunk to 1.8 branch: Changes resulting from Klocwork static analysis tool, from Mark Miller @ LLNL (miller86@llnl.gov). Tested on: Mac OS X/64 10.7.4 (amazon) w/debug, C++ & FORTRAN, using gcc 4.7.x (too minor to require h5committest)
* [svn-r22291] Description:Quincey Koziol2012-04-171-307/+313
| | | | | | | | | | Bring r22287 from trunk to 1.8 branch: Clean up more FUNC_ENTER/FUNC_LEAVE macros and move H5D & H5T code toward the final design (as exemplified by the H5EA & H5FA code). Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & parallel
* [svn-r22156] Issue 7785 - Writing or reading many small chunks ran out of ↵Raymond Lu2012-03-271-1/+1
| | | | | | | | memory and caused seg fault. I added checks in two places to make sure the library returns error stack when it fails to allocate memory. I didn't add any test to the test suite since there is no good way to test it. But I tested and verified the error stack by hand. Tested on jam - this is a merge from the trunk.
* [svn-r21925] Description:Quincey Koziol2012-02-101-49/+49
| | | | | | | | | | | | | | Bring r21919-21924 from trunk to 1.8 branch: cleanup FUNC_ENTER macros, etc. Also removed Subversion mergeinfo tags from a few directories and files. These are artifacts from non-root merges using pre-1.6 Subversion clients. (This should fix the problem of unchanged directories looking "changed" during checkins.) Tested on: Mac OSX/64 10.7.3 (amazon) w/debug & production (daily tested on trunk)
* [svn-r21791] Port r21789 to 1.8 branchNeil Fortner2011-12-011-1/+6
| | | | | | | | | | | | | | Purpose: Fix HDFFV-7833 Description: When shrinking a chunked dataset, the library fills in the unused parts of chunks that have been shrunk. The fill value buffer allocated for this purpose had a maximum size of 1 MB, but the fill was performed in a single operation. Therefore, if the amount of unused space in a chunk after being shrunk was greater than 1 MB, the library would read off the end of the fill value buffer. Changed the maximum fill buffer size to be equal to the chunk size. Tested: durandal; jam, koala, heiwa (h5committest)
* [svn-r21646] Port r21603 to 1.8 branchNeil Fortner2011-10-211-1/+1
| | | | | | | | | | | | | | | Purpose: Add generic skip list implementation Description: Added new H5SL_TYPE_GENERIC skip list type, which uses void *'s as keys and a client-supplied callback for key comparison. This was added to support the upcoming "merge named datatype" feature for H5Ocopy, but may be used in other places as well. Also added testing. Also fixed a potential bug with the H5SL_TYPE_OBJ implementation, and added testing for that. Tested: jam, koala, heiwa (h5committest), durandal
* [svn-r21605] Back out r21604 (wait for code freeze to be lifted)Neil Fortner2011-10-181-1/+1
|
* [svn-r21604] Port r21603 to 1.8 branchNeil Fortner2011-10-181-1/+1
| | | | | | | | | | | | | | | Purpose: Add generic skip list implementation Description: Added new H5SL_TYPE_GENERIC skip list type, which uses void *'s as keys and a client-supplied callback for key comparison. This was added to support the upcoming "merge named datatype" feature for H5Ocopy, but may be used in other places as well. Also added testing. Also fixed a potential bug with the H5SL_TYPE_OBJ implementation, and added testing for that. Tested: jam, koala, heiwa (h5committest), durandal
* [svn-r20893] Description:Quincey Koziol2011-05-231-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r20885 from trunk to 1.8 branch: r20340: Address coverity issue 248. Set freed pointer to NULL if realloc fails, then check for NULL before attempting to close array of handles stored in memory addressed by pointer. r20341: Added initialization udata.path = NULL; udata.visited = NULL; to prevent unintialized use after done: label. Do C-style initialization AFTER all variable definitions. r20342: Fix valgrind error in H5DUMP-XML-tall.h5 r20343: Addressed Coverity issue 591 - check the return value of H5S_SELECT_ITER_RELEASE. r20344: Added initialization udata.path = NULL; to prevent uninitialized used after done: label r20347: Purpose: Fix memory leak in overhead.c Description: Fixed leak in test() in overhead.c where array "had" was never freed. r20348: Addressed Coverity issue 705 - added prototype for resize_configs_are_equal to cache_common.h. r20392: Purpose: Fix coverity issues 1677 and 1678 Description: Added return value checking for 4 funciton calls in H5tools_get_symlink_info(). r20394: Purpose: Fix coverity issues 1674 and 1675 Description: Modified H5Epush2() and H5E_printf_stack() to keep track of whether va_start() has been called, and to call va_end() at the end if so. r20395: Should be H5MM_calloc(count * sizeof(void*)). Fixed --gh r20396: Should be H5MM_calloc(count * sizeof(void*)). Fixed. --gh Tested on: Mac OSX/32 10.6.7 (amazon) w/debug & production (h5committested on branch)
* [svn-r20489] Bug 1386 - allow dimension size to be zero even though it isn't ↵Raymond Lu2011-04-131-5/+7
| | | | | | | | | | | | | | | | unlimited. I brought the changes from the trunk as below: 1. I added test cases for contiguous, compact, and chunked, and external storage datasets, and also attribute. The test includes dataspace selections. 2. I added a test case of extending dataset of zero dimension size and shrinking back to zero dimension size. 3. I updated the Makefile to include the new data file to be cleaned up. 4. The dataspace code has another bug - when the maximal dimension isn't passed in for H5Sset_extent_simple, it is supposed to be same as the dimension. The current library sets NULL to it. I corrected it and added a test case to it. 5. I corrected the tests of Fortran and C++ for the problem in point 3. Tested on jam, heiwa, and amani.
* [svn-r19639] Description:Quincey Koziol2010-10-191-8/+16
| | | | | | | | | | | Bring r19638 from trunk to 1.8 branch: Bring some of Neil's changes to help support SWMR access in the v1 B-tree code from the revise_chunks branch back to the trunk. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r19499] Description:Quincey Koziol2010-10-011-63/+74
| | | | | | | | | | | | | | | Bring r19498 from trunk to 1.8 branch: Optimize the vector-vector memcpy() routine even further, for a total of ~2x speedup. :-) Make a generic vector-vector operation routine and convert other vector-vector read & write routines to use generic routine instead of multiple copies of the basic algorithm. Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r19477] Description:Quincey Koziol2010-09-231-8/+6
| | | | | | | | | | | Bring r19476 from trunk to 1.8 branch: Polish the vectorized memory <-> memory and memory <-> file I/O routines to speed them up a little bit (~10%) Tested on: FreeBSD/32 6.3 (duty) in debug mode (h5committested on trunk)
* [svn-r19399] Description:Quincey Koziol2010-09-161-20/+12
| | | | | | | | | | | | | | Bring r19398 from trunk to 1.8 branch: Clean up the internal usage H5I_dec_ref() to eliminate the sequence of flags that has been creeping in. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
* [svn-r19359] When mandatory filter failed to write data chunks, the datasetRaymond Lu2010-09-081-7/+9
| | | | | | | couldn't close (bug 1260). The fix releases all resources and closes the dataset but returns a failure. Tested with h5committest - jam, heiwa, amani.
* [svn-r19353] Description:Quincey Koziol2010-09-041-18/+4
| | | | | | | | | | Bring r19352 from trunk to 1.8 branch: Align w/changes on revise_chunks branch Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (too minor to require h5committest)
* [svn-r19329] Description:Quincey Koziol2010-08-311-1/+10
| | | | | | | | | | | | | | | Bring r19328 from trunk to 1.8 branch: Add some extra range checking for invalid chunk sizes. Tweak default chunk sizes to be zero, so that it's more likely that application developers will be forced to set them correctly. Add a few tests to verify these checks. Tested on: Mac OS X/32 10.6.4 (amazon) w/debug & production (too minor to require h5committest)
* [svn-r19093] Description:Quincey Koziol2010-07-191-2/+1
| | | | | | | | | | | | | | | | | | | | Bring r19092 from trunk to 1.8 branch: Bring "shape same" changes from LBL branch to trunk. These changes allow shapes that are the same, but projected into dataspaces with different ranks to be detected correctly, and also contains code to project a dataspace into greater/lesser number of dimensions, so the I/O can proceed in a faster way. These changes also contain several bug fixes and _lots_ of code cleanups to the MPI datatype creation code. Many other misc. code cleanup are included as well... Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode (h5committested on trunk)
* [svn-r19007] Purpose: Improve performance of the the chunk cacheNeil Fortner2010-06-151-211/+166
| | | | | | | | | | Description: Previously, the chunk cache would, when looking for a chunk, alwaylook for the chunk in the b-tree before checking the cache. Reworked the functions that look up chunks to always check the cache first and avoid the b-tree lookup if the chunk is in cache. Tested: jam, linew, amani (h5committest)
* [svn-r18920] Description:Quincey Koziol2010-05-271-0/+3
| | | | | | | | | | | | | | | | | | Bring r18917 from trunk to 1.8 branch: Bring r18911 (plus some adaptions to match the code on the trunk) from the metadata journaling "merging" branch to the trunk: More general changes to align trunk with eventual changes from metadata journaling branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode
* [svn-r18895] Purpose: Improve allocation performance of filtered datasets ↵Neil Fortner2010-05-251-39/+78
| | | | | | | | | | | | | with non-default VL fill values. Description: Previously, H5D_chunk_allocate would, if a dataset were filtered and had a non-default VL fill value, allocate a new buffer for every chunk. Changed H5D_chunk_allocate to reuse the existing buffer if possible. Also other miscellaneous cleanup. Tested: jam, linew, amani (h5committest)
* [svn-r18869] Purpose: Fix bug in dataset shrinking algorithmNeil Fortner2010-05-201-213/+290
| | | | | | | | | | | | | | | | Description: Previously, it was possible for a chunk to be flushed due to chunk operations in the callback from H5B_iterate in H5D_chunk_prune_by_extent. Because flushing the chunk can force it to be reallocated if it is filtered, this can change the contents of the chunk b-tree in the middle of H5B_iterate. Because H5B_iterate uses a locally cached copy of the b-tree, this causes subsequent operations to be passed incorrect data. Rewrote H5D_chunk_prune_by_extent to avoid H5B_iterate entirely. Also fixed a bug in the dataset expand algorithm that could cause extra chunks to be created. Tested: jam, linew, smirom (h5committest)
* [svn-r18652] Description:Quincey Koziol2010-04-271-2/+1
| | | | | | | | | | | | Bring r18650 from trunk to 1.8 branch: Bring back various minor tweaks & cleanups from the revise_chunks branch. Tested on: FreeBSD/32 6.3 (duty) in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode (h5committested on trunk)
* [svn-r18646] In H5T_get_native_type of H5Tnative.c, I changed the way that ↵Raymond Lu2010-04-271-1/+1
| | | | | | | | | the offset, alignment, and size of nested compound type are calculated by using H5T_cmp_offset. The old way had a bug in it (see bug #1850). Tested on amani, linew, and jam.
* [svn-r18635] Description:Quincey Koziol2010-04-271-2/+4
| | | | | | | | | | | Bring r18634 from trunk to 1.8 branch: Clean up compiler warnings. Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode (h5committested on trunk)
* [svn-r18622] Description:Quincey Koziol2010-04-231-1/+1
| | | | | | | | | | Bring r18621 from trunk to 1.8 branch: Clean up compiler warnings. Tested on: Mac OS X/32 10.6.3 (amazon) w/debug (too minor to require h5committest)
* [svn-r18596] Description:Quincey Koziol2010-04-201-7/+7
| | | | | | | | | | Bring r18595 from trunk to 1.8 branch: Clean up compiler warnings Tested on: Mac OS X/32 10.6.3 (amazon) w/debug (too minor to require h5committest)
* [svn-r18446] Purpose: Fix bug 1637Neil Fortner2010-03-241-108/+148
| | | | | | | | | | Description: Modified algorithm for extending a dataset with early allocation so it only deals with the new chunks. Formerly, it would loop over all chunks, checking to see if each existed in cache and on disk, causing major performance issues with large numbers of chunks. Tested: jam, linew, amani (h5committest)
* [svn-r18358] Description:Quincey Koziol2010-03-021-0/+1
| | | | | | | | | | | | | | | | | Bring r18357 from trunk to 1.8 branch: Bring r18356 from metadata journaling merge branch to trunk: Converge metadata journaling branch with trunk with a bunch of v1 B-tree changes: - Remove H5ACprivate.h header from H5Bprivate.h header - Revise v1 B-tree client callbacks - Get rid of H5B_serialize() by bringing it into H5B_flush() Tested on: FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r18301] Description:Quincey Koziol2010-02-201-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bring r18300 from trunk to 1.8 branch: Bring Coverity fixes from branch to trunk: r18282: Fix Coverity issue #428 by wrapping testing calls with if(pass) {} block. r18283: Fix Coverity issue #425 by wrapping test calls in if(pass) {} block r18284: Issue 166: init_error() malloc'd 3 pointers in initialization and never freed inc ase of errors. Init pointers to NULL, check allocation results and free allocations in error block r18285: Fix Coverity issue #410 by wrapping test calls with if(pass) {} block. r18286: Issue 165: custom_print_cb() needed allocations freed in error block. r18287: Fix coverity issue # 409 Added if (pass) checks around calls to flush_cache. Additionally, added a check for file_ptr = NULL after call to setup_cache. r18288: Fix coverity# 107 free fh in H5HF_close() correctly before exit the function even when failure occurs. r18289: Fix Coverity issue #429: correct failure return values to match return type from routine. r18290: Fix Coverity issue #103: release allocated indirect section on error r18294: Issue 153, 152: Check allocations and free allocations in error block. Also cleaned up hid_t identifer that were opened in error block. r18295: Fix coverity# 101 free new_loc in H5HF_man_iter_start_entry() correctly before exit the function even when failure occurs r18296: Fix coverity# 100 free down_loc in H5HF_man_iter_down() before exit the function when failure occurs r18297: Fixed coverity issues 54, 55 and 216. Correctly handle the various ways that allocation of attr_name can fail in test_attr_basic_write. r18298: Fix coverity# 119 free object in H5HG_read() before exit the function when failure occurs r18299: Fix coverity issue #112: Add cleanup during error handling of H5MP_create. Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & production Misc. Linux configurations (on original checkins)