summaryrefslogtreecommitdiffstats
path: root/src/H5Fprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* Changes made based on RFC review commentsVailin Choi2017-07-181-1/+3
| | | | Test the changes in a branch via daily testing.
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* Checkin of fix for CGNS bugmainzer2017-04-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://jira.hdfgroup.org/browse/HDFFV-10055). Briefly, in H5C_collective_write() in H5Cmpio.c, the metadata cache attempts to perform a collective write of metadata cache entries. This worked fine as long as all processes had at least one entry to write. However, when the process has no entries, the function tries to participate in the collective write by calling MPI_File_set_view(), MPI_File_write_all() and then MPI_File_set_view() again, to match the calls in H5FD_mpio_write(). After pull request 183, the CGNS test benchmark_hdf5 started failing. On investigation, I determined that the failure occurred in the first call to MPI_File_set_view() in the "no data to write" path through H5C_collective_write(). Note that pull request 183 did not create the problem, it only exposed it. The bug can be observed after pull request 182 if one executes the CGNS progam src/ptests/benchmark_hdf5 with 90 processes. The problem appears to have been that the calls to MPI_File_set_view() in H5C_collective_write() and H5FD_mpio_write() were using different values for the info parameter. I patched the problem by adding a MPI specific VFD call allowing me to get the MPI_Info used in H5FD_mpio_write() for use in MPI_File_set_view() calls in H5C_collective_write(). Tested serial & parallel, debug & production on Jelly.
* Final merge of page buffering branch to developQuincey Koziol2017-03-141-3/+78
|
* Bring changes to I/O parameters from page_buffering branch.Quincey Koziol2017-03-131-2/+10
|
* Cache image feature and testingQuincey Koziol2017-01-291-0/+4
|
* Bring file shutdown code from cache image branchQuincey Koziol2017-01-051-0/+1
|
* More normalizations against incoming cache image branch.Quincey Koziol2016-12-291-0/+1
|
* Bring SWMR support in to the main development branch. (Finally!) More testsQuincey Koziol2016-12-021-1/+4
| | | | and the tool and API wrappers will be coming in over the weekend.
* Merge branch 'develop' into eoc_valgrind_bugfixDana Robinson2016-11-261-0/+18
|\
| * Merge pull request #166 in HDFFV/hdf5 from ↵Dana Robinson2016-11-211-0/+3
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ~DEROBINS/hdf5_der:eoc_valgrind_bugfix to develop Two minor evict-on-close changes: * Fix for a valgrind-reported issue where invoking EoC behavior when the file is closing leads to garbage file data being passed to downstream calls. The solution is to ignore EoC when the file is closing anyway. * Added brackets so an infinite loop that arises when evicting tagged entries (due to pinned entries preventing progress) raises an error instead. * commit '4e7b19f8260a7adb0e3b3df30e2d8289fccdcca6': Two minor cache changes:
| * | Bring over support for retrying metadata cache entry loads, along with all theQuincey Koziol2016-11-201-0/+18
| | | | | | | | | | | | supporting metadata cache callback changes, etc.
* | | Tentative fix for valgrind issues related to EoC.Dana Robinson2016-11-261-4/+1
| |/ |/| | | | | | | | | | | | | | | Adds /*out*/ parameters to H5O_close() and H5F_try_close() so that H5D/G_close() will know when H5O_close() has triggered a file close and thus the file struct is not reliable. Also removes the H5F_CLOSING() macro and related which were formerly used to check if the file was closing.
* | Two minor cache changes:Dana Robinson2016-11-201-0/+3
|/ | | | | | | | | | | | * Evict-on-close behavior is now skipped when the file is closing. This fixes a potential issue discovered by Valgind on Windows where potentially garbage data would be availble for manipulation. * Added brackets to some code in the tagged entry evict iterators so that the flag that determines if progress was made only gets set if things are actually evicted. This prevents an infinite loop (and emits an error) when pinned entries prevent eviction and thus progress.
* Code style and warning cleanups, from revise_chunks branch.Quincey Koziol2016-11-061-2/+2
|
* Add cache logging property and file pieces.Quincey Koziol2016-11-041-0/+12
|
* Merge branch 'develop' into evict_on_closeDana Robinson2016-09-141-1/+1
|\
| * [svn-r30303] Fixed unbalanced parentheses in H5F_SAME_SHARED macro. Dana Robinson2016-08-181-1/+1
| | | | | | | | | | | | | | | | This version of the macro isn't used anywhere in the HDF5 source. Tested on: 64-bit Ubuntu Linux 16.04 LTS w/ gcc 5.4.0 Autotools serial
| * [svn-r30219] Description:Quincey Koziol2016-07-221-1/+1
| | | | | | | | | | | | | | | | | | More warning cleaups: down to 770 warnings (from ~940) in 134 files (from 148), with 28 unique kinds of warnings (from 31). Tested on: MacOSX/64 10.11.5 (amazon) w/serial & parallel (h5committest forthcoming)
* | [svn-r30084] First pass at the evict-on-close feature.Dana Robinson2016-06-151-1/+5
|/ | | | | | | | | | The features is controlled via H5Pset/get_evict_on_close() and is currently enabled by default (it will be disabled by default in the final implementation). There is a bug in the code where the eviction of tagged metadata fails due to some of the metadata being dirty, resulting in error return values and test failures.
* [svn-r30075] Description:Quincey Koziol2016-06-141-0/+1
| | | | | | | | | | Bring object/dataset/group/named datatype features from revise_chunks branch to trunk. Also CMake support for h5format_convert and a bunch of misc. cleanups. Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29924] Description:Quincey Koziol2016-05-121-0/+1
| | | | | | | | Bring h5format_convert tool from revise_chunks branch to trunk. Tested on: MacoSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29850] Description:Quincey Koziol2016-05-011-0/+13
| | | | | | | | | | Bring H5DOappend(), H5P[s|g]et_object_flush_cb, and H5P[s|g]et_append_flush from revise_chunks branch to trunk. Brings along updated metadata cache entry tagging, and the internal object flush routine. Tested on: MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29842] Description:Quincey Koziol2016-04-301-3/+3
| | | | | | | | | Bring [appropriate portions of] r29811, 29813, 29826, 29830, 29831 from revise_chunks branch to the trunk. Tested on: MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29612] Description:Quincey Koziol2016-04-031-3/+19
| | | | | | | | | Bring updated layout and EFL property comparisons and new "latest format" flags from revise_chunks branch. Tested on: MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r29077] Description:Quincey Koziol2016-02-101-0/+13
| | | | | | | | Normalize against the trunk, in preparation for final merge. Tested on: MacOSX/64 10.11.3 (amazon) w/serial & parallel (h5committest not required on this branch)
* [svn-r28959] merge from trunk.Mohamad Chaarawi2016-01-221-1/+1
|\ | | | | | | renaming metadata dxpl properties.
| * [svn-r28950] - remove META_FLUSH_COLLECTIVELY property for delayed sanity ↵Mohamad Chaarawi2016-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | checks from metadata dxpls - remove H5AC_ind_dxpl_id and use only H5AC_dxpl_id everywhere instead. - remove flush_me_collectively flag from cache entries - add a collective sanity check (MPI_Barrier) for every HDF5 API routine that could possibly touch the file. This is trigerred when the environment variable H5_COLL_API_SANITY_CHECK is set to a non 0 digit. tested on BB-8 with serial and parallel.
* | [svn-r28851] merge from trunk.Mohamad Chaarawi2016-01-111-2/+1
|\ \ | |/
| * [svn-r28646] Minor normalization with revise_chunks.Dana Robinson2015-12-141-2/+1
| | | | | | | | | | | | | | | | | | Also purged obsolete /*ARGSUSED*/ from the library. Tested on: Ubuntu 15.10 (Linux 4.2.0 x86_64) gcc 5.2.1 serial only (these changes have been in revise_chunks for a long time)
* | [svn-r28649] - add new API to toggle collective metadata write.Mohamad Chaarawi2015-12-141-0/+1
| | | | | | | | | | - set default to FALSE - fix some bugs.
* | [svn-r27929] merge from trunk.Mohamad Chaarawi2015-10-011-8/+4
|\ \ | |/
| * [svn-r27811] Description:Quincey Koziol2015-09-161-5/+1
| | | | | | | | | | | | | | | | | | | | | | Refactor property list code to "deep copy" properties in the correct way, retraining the rest of the library to copy & release things correctly. This cleans up another batch of memory leaks, etc. within the library. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/32 2.6.x (jam) w/serial & parallel (h5committest forthcoming)
| * [svn-r27768] Description:Quincey Koziol2015-09-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Complete revamp of package initialization/shutdown mechanism in the library. Each package now has a single init/term routine. This new way should avoid packages being re-initialized during library shutdown and is also be _much_ more proactive about giving feedback for resource leaks internal to the library. Introduces a new "module" header file for packages in the library (e.g src/H5Fmodule.h) which sets up some necessary package configuration macros for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly modified version of this header, src/H5FDdrvr_module.h) Also cleaned up a bunch of resources leaks all across the library and tests, along with addressing many warnings, as I encountered them. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel Linux/64 3.10.x (kituo) w/serial & parallel Linux/64 2.6.x (ostrich) w/serial
* | [svn-r27261] apply metadata enhancement patch that was based on the mdc 3 ↵Mohamad Chaarawi2015-06-211-0/+1
|/ | | | branch.
* [svn-r27144] Description:Quincey Koziol2015-06-031-2/+2
| | | | | | | | | | Normalize trunk against the metadata_cache_merge branch, in preparation for merging the branch into the trunk. Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/64 2.6.x (koala) w/serial Linux/32 2.6.x (jam) w/serial & parallel
* [svn-r27058] Description:Quincey Koziol2015-05-131-1/+0
| | | | | | | | | | Convert internal chunk structures to use 'scaled' coordinates instead of absolute coordinates. Tested on: Mac OSX/64 10.10.3 (amazon) w/parallel & serial Linux 2.6.x/32 (jam) w/parallel & serial Linux 2.6.x/64 (koala) w/serial
* [svn-r26837] Description:Quincey Koziol2015-04-171-0/+6
| | | | | | | | | | Separate allocating chunk on disk from inserting the chunk record into the index. This allows a "SWMR-safe" insert/update of chunks (the chunk is always allocated -> written -> inserted/updated in the index). Tested on: Mac OSX/64 10.10.2 (amazon) w/parallel & serial Linux/32 2.6.18 (jam) w/serial & parallel
* [svn-r26514] Fix for HDFFV-9173:Vailin Choi2015-03-201-0/+2
| | | | | | H5Pset_istore_k() will validate the "ik" value to not exceed the max v1 btree entries (2 bytes) The same check for H5Pset_sym_k() "ik" value. h5committested.
* [svn-r25468] some code refactoring to align trunk with VOL branch.Mohamad Chaarawi2014-07-221-0/+1
| | | | tested with h5committest.
* [svn-r25097] Description:Quincey Koziol2014-04-251-0/+4
| | | | | | | | | | | Make progress toward moving from DXPL IDs to property list structures within the library. Also move the signature location code from the H5F package to the H5FD package, where it's a better fit. Also, clean up some more compiler warnings along the way. Tested on: Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel (h5committest forthcoming)
* [svn-r25088] Description:Quincey Koziol2014-04-231-12/+35
| | | | | | | | | Introduce "file I/O info" struct, to hold file & dxpl pointers, and start propagating up through library. Tested on: Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel (h5committest coming)
* [svn-r24993] Purpose:Dana Robinson2014-04-091-0/+2
| | | | | | | | | | | | | | | Adds write tracking to the core VFD, which can be configured via the H5Pset/get_core_write_tracking() API call. When enabled and writing to the backing store is enabled, this feature will track writes and only write out the changed bytes on flush/close. Tested on: 32-bit LE linux (jam) w/ Fortran and C++ 64-bit BE linux (ostrich) 64-bit Darwin 12.5.0 (kite) All were tested using the core VFD w/ paging on (core_paged in the VFD list). Make check-vfd was also tested on jam.
* [svn-r24709] rename H5V to H5VM since H5V is needed in the fastforward ↵Mohamad Chaarawi2014-02-131-2/+2
| | | | | | | | | | | | 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. Tested Manually on Jam and Ostrich. Tested with h5commitest - Koala with intel compilers failed, but nothing had to do with those changes. error on Koala: error while loading shared libraries: libirng.so
* [svn-r24476] Description:Quincey Koziol2013-11-301-1/+1
| | | | | | | | | Remove duplicate "intent" flags from top & shared file structures, leaving them only in the shared file structure. Tested on: Mac OSX/64 10.9.0 (amazon) w/gcc 4.8, both parallel & serial (too minor to require h5committest)
* [svn-r24087] Rename the private H5RC (reference count) module to H5UC (Use ↵Mohamad Chaarawi2013-08-301-3/+3
| | | | | | | | | | | | Count). This is needed to avoid a conflict with the Read Context object to be introduced in another Project. No impact on users, since this is a private module, and low for developers as the RC module use is very sparse in the library. Tested with h5committest.
* [svn-r23713] Description:Quincey Koziol2013-05-211-0/+1
| | | | | | | | | | 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-r22915] Description:Quincey Koziol2012-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Bring Coverity changes back to trunk: r20399: Change parse_command_line to free hand structure on error and only "leave()" at end of main. r20400: Purpose: Fix coverity issue 592 Description: Added void cast to call to H5F_sfile_assert_num() in H5F_term)interface(). There is no need to check the return value of this function in general, and there would be nothing to do even if it did fail. r20401: Added free(src_sizes) and free(src_offset). --gh Tested on: Mac OSX/64 10.8.2 (amazon) w/C++, FORTRAN, threadsafe (too minor for h5committest)
* [svn-r22807] Description:Quincey Koziol2012-09-251-5/+63
| | | | | | | | | | | | | | | | | | | | | Add encode/decode API routines for property lists: H5Pencode/H5Pdecode. Tested on: FreeBSD/32 8.2 (loyalty) w/gcc4.6, w/C++ & FORTRAN, in debug mode FreeBSD/64 8.2 (freedom) w/gcc4.6, 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 (koala) w/Intel compilers, w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, w/threadsafe, in production mode Linux/PPC 2.6 (ostrich) w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-ia64 2.6 (ember) w/Intel compilers, w/parallel, C++ & FORTRAN, in production mode Mac OS X/32 10.7.3 (amazon) in debug mode Mac OS X/32 10.7.3 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode Mac OS X/32 10.7.3 (amazon) w/parallel, in debug mode
* [svn-r22608] Description:Quincey Koziol2012-07-261-29/+15
| | | | | | | | | | | | | | | Switch propert list/class iteration from internal to external form of iteration, cleaning up and simplifying the code a bit. Bring other general improvements from plist_encode_decode branch back to trunk. Clean up many warnings. Tested on: Mac OSX/64 10.7.4 (amazon) w/gcc 4.7, debug and C++ & FORTRAN (too minor to require h5committest)