summaryrefslogtreecommitdiffstats
path: root/src/H5FD.c
Commit message (Collapse)AuthorAgeFilesLines
* VFD SWMR: Merges from develop (#1670)Dana Robinson2022-04-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Cleans up SWMR test scripts (both legacy and VFD) * Brings over format source changes for Java * Normalization of HL, Fortran, C++, Java w/ develop * Removes the STATIC flavor of FUNC_ENTER macros (#1622) * Removes the STATIC flavor of FUNC_ENTER macros * Remove H5_NO_ALIGNMENT_RESTRICTIONS (#1426) * Do not conditionally compile code that uses a pointer dereference and assignment to copy a potentially unaligned variable to aligned automatic storage, or vice versa. Instead, always use naked `memcpy(3)`s. Disassembling the generated code reveals that the `memcpy(3)`s optimize (`-O3`) to a single `mov` instruction for x86_64, which is not strict about alignment. This change reduces the size of code and scripts by 143 lines, eases our way to cross-compilation, and avoids invoking undefined behavior. * Committing clang-format changes * Per discussion, use HD and add comments. Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes unused definitions from module headers (#1624) * Misc stuff from develop (includes some parallel things) * Brings over SWMR test quiet mode changes from develop Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* VFD SWMR: Normalization with develop (#1506)Dana Robinson2022-03-231-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Brought over plugin and test script changes * Removes remaining register keywords (#1481) * Fixed warnings in the aux process code * Minor fixes from develop * Minor changes from develop, fixed format warnings * Formatted source * Added HD prefix to timespec_get * Cleanup in new files * Removes the MANIFEST file and unused release files (#1497) * Removes the MANIFEST file and unused release files * Updated tar command * checkposix corrections * More checkposix fixes * Ripped out unused instrumentation functionality * Brought over cache tagging changes from develop * Changes to tagged metadata expulsion iteration * Fixed typo * Brought over H5O__free() changes from develop * Brings (unused) parallel page buffer test in line with develop * Moved the functionality in supervise.subr to test_vfd_swmr.sh * Tools VFD parameter updates * Committing clang-format changes * H5F VFD SWMR refactoring * Committing clang-format changes * Misc changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* VFD SWMR: normalization with develop (#1472)Dana Robinson2022-03-061-39/+183
| | | Much normalization with develop. Still needs tools changes wrt VFD plugins.
* VFD SWMR: Removes dedup callback + cleanup (#842)Dana Robinson2021-07-171-54/+65
| | | | | | | | | | | * HDF5-ification of dedup calls * Removes dedup callback from VFD struct * VFD SWMR library code cleanup * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Brings native H5Fdelete implementation from developDana Robinson2021-05-051-0/+34
|
* Normalization with develop (mainly VFDs)Dana Robinson2021-05-051-2/+2
|
* Brings atom-->ID and other ID-related changes from developDana Robinson2021-05-051-12/+12
|
* Brings trace changes from developDana Robinson2021-04-061-17/+17
|
* Updates license url and history docsDana Robinson2021-03-251-1/+1
|
* Formats the source and updates the gcc warning pragmasDana Robinson2021-03-251-313/+257
|
* Moves H5queue.h to H5private.h and yanks circular queue macrosDana Robinson2021-02-261-1/+0
|
* Moves H5queue.h from H5FDpublic.h to H5FD.cDana Robinson2021-02-261-0/+1
|
* Moves the BSD queue to a wrapper to keep it out of the public APIDana Robinson2021-02-261-12/+28
|
* Clarify my descriptions of H5FD_dedup() and H5FD_deduplicate().David Young2020-08-251-7/+24
|
* Delete disused routine H5FD_has_conflict().David Young2020-08-201-18/+0
|
* Merge branch 'aug-develop' into aug-merge-attempt/feature/vfd_swmrDavid Young2020-08-041-11/+11
|\
| * Minor normalizations with 1.12 branchDana Robinson2020-08-011-1/+1
| |
| * Normalization with hdf5_1_10Dana Robinson2020-06-011-11/+11
| |
| * Minor refactoring to the VFD info free call.Dana Robinson2020-01-311-10/+8
| |
| * Updated the 'const memory free' changes based on PR feedback.Dana Robinson2020-01-311-9/+8
| |
| * Added a free wrapper that lets us free constant pointers withoutDana Robinson2020-01-301-5/+8
| | | | | | | | | | | | | | generating warnings. Also, brought the const-ness of the VOL connector info in line with the VFD info (not visible externally).
| * Yanked -Wc++-compat from the flags used to build the C library in bothDana Robinson2019-12-041-2/+2
| | | | | | | | the Autotools and CMake.
| * Added an H5MM_memcpy call that checks for buffer overlap.Dana Robinson2019-03-161-2/+2
| |
* | Change H5F_open to perform deduplication of open VFDs in a more flexible way,David Young2020-07-301-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | using the new routine H5FDdeduplicate(). Simplify H5F_open() a bit, pushing some of the configuration checks into the SMWR VFD. For example, check that page buffering is enabled in H5FD_vfd_swmr_open() instead of in H5F_open(). Compare VFD SWMR configurations in H5FD_vfd_swmr_dedup() instead of in H5F_open(). Clone the default file-access property list at a new file-access property list ID, H5P_FILE_ACCESS_ANY_VFD. The new ID is used to indicate that if the file that's being opened is already open under an existing virtual file, and if that virtual file would not ordinarily be opened with the default FAPL, then it's ok to use that virtual file. Add a new optional method, `dedup`, to H5FD_class_t, and use it to customize a VFD's deduplication. Customize the SWMR VFD's deduplication. Make it honor H5P_FILE_ACCESS_ANY_VFD Embed the VFD SWMR configuration in the H5FD_vfd_swmr_t to facilitate comparison of configuration between new and old SWMR virtual files. In H5F__sfile_search(), match using a pointer comparison instead of H5FD_cmp(), because we will only ever enter H5F__sfile_search() with a deduplicated H5FD_t *.
* | Delete gratuitous comment and initialization from a variable declaration.David Young2020-07-101-1/+1
| |
* | Add all extant virtual files to a list. Add an "exclusive owner" (`exc_owner`)David Young2020-07-101-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | member to all virtual files. Add a routine, H5FD_has_conflict(), that returns true if a new virtual file is identical to an existing virtual file that has an exclusive owner. Establish an exclusive owner for a VFD SWMR virtual file's lower virtual file. Rename bsdqueue.h to H5queue.h and install it, since it's used by H5FDpublic.h. This is part of a changeset that helps us avoid creating multiple H5F_shared_t for one file when virtual datasets are used with VFD SWMR. The old code for deduplicating VFD SWMR H5F_shared_t instances did not work correctly with VFD SWMR, so we'd end up with multiple H5F_shared_t all active on the same file.
* | Minor refactoring to the VFD info free call.Dana Robinson2020-05-201-10/+8
| |
* | Updated the 'const memory free' changes based on PR feedback.Dana Robinson2020-05-201-9/+8
| |
* | Added a free wrapper that lets us free constant pointers withoutDana Robinson2020-05-201-5/+8
| | | | | | | | | | | | | | generating warnings. Also, brought the const-ness of the VOL connector info in line with the VFD info (not visible externally).
* | Yanked -Wc++-compat from the flags used to build the C library in bothDana Robinson2020-05-201-2/+2
| | | | | | | | the Autotools and CMake.
* | Merge all of my changes from merge-back-to-feature-vfd_swmr-attempt-1,David Young2019-12-091-2/+2
| | | | | | | | | | | | | | | | including the merge of `hdffv/hdf5/develop`, back to the branch that Vailin and I share. Now I need to put this branch on a fork with a less confusing name than vchoi_fork!
* | Intermin commit to allow update from Vailin's recent changesmainzer2019-01-151-0/+3
|/
* Normalization with vol_integration (property lists, file drivers,Dana Robinson2018-09-211-464/+514
| | | | other misc).
* Cleanup API context function usage.Quincey Koziol2018-03-191-54/+16
|
* Add API context interface and use it throughout the library.Quincey Koziol2018-03-151-43/+71
|
* Normalization with VOL integration branch.Dana Robinson2017-11-301-9/+9
|
* Added a test for VFD IDs to testhdf5.Dana Robinson2017-07-011-226/+53
| | | | | | | This required adding some code to generate a fake VFD class to pass to H5FDregister(). Also, a bunch of whitespace and comment tidying.
* * Added new public H5FDdriver_query() API call.Dana Robinson2017-05-241-1/+41
| | | | | | * Changed return type of H5FD_driver_query() to herr_t. * Updated swmr.c to use H5FDdriver_query() instead of the private call. * Added some flags tests to vfd.c.
* * Made H5FD_driver_query() a private function instead of static.Dana Robinson2017-05-241-37/+0
| | | | | | | * Moved H5FD_driver_query() to H5FDint.c. * Minor typo fixes in H5I.c. * Updated swmr.c to check the VFD feature flags and skip the retries test when the VFD is not compatible with H5P_DEFAULT.
* 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.
* Final merge of page buffering branch to developQuincey Koziol2017-03-141-0/+24
|
* Bring changes to I/O parameters from page_buffering branch.Quincey Koziol2017-03-131-10/+32
|
* More normalizations against incoming cache image branch.Quincey Koziol2016-12-291-2/+1
|
* Bring SWMR support in to the main development branch. (Finally!) More testsQuincey Koziol2016-12-021-0/+29
| | | | and the tool and API wrappers will be coming in over the weekend.
* [svn-r30113] Description:Quincey Koziol2016-06-281-3/+3
| | | | | | | | Clean up warnings (from 2774 -> 1560, with my standard debug build) Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r28626] Brought VFD-level file locking code over from revise_chunks.Dana Robinson2015-12-141-0/+125
| | | | | | | 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-r27818] Minor warning fixes.Dana Robinson2015-09-171-1/+0
| | | | Tested on: h5committest
* [svn-r27811] Description:Quincey Koziol2015-09-161-195/+24
| | | | | | | | | | | 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-54/+22
| | | | | | | | | | | | | | | | | | | | | | 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-r27077] Description:Quincey Koziol2015-05-151-6/+47
| | | | | | | | Clean up H5FD interface, to align w/v3 metadata cache changes Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.* (jam) w/serial & parallel