summaryrefslogtreecommitdiffstats
path: root/src/H5FDsplitter.c
Commit message (Collapse)AuthorAgeFilesLines
* VFD SWMR: Merges from develop (#1670)Dana Robinson2022-04-211-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-88/+353
| | | Much normalization with develop. Still needs tools changes wrt VFD plugins.
* VFD SWMR: Normalization with develop (#1078)Dana Robinson2021-10-061-10/+12
| | | Brings many changes from develop, particularly VOL changes for async
* VFD SWMR: Removes dedup callback + cleanup (#842)Dana Robinson2021-07-171-1/+0
| | | | | | | | | | | * 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>
* VFD SWMR: Sync with develop (#811)Dana Robinson2021-06-301-39/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Normalization with develop * Removes checks and work-arounds for strtoll and strtoull (#769) * Removes checks for (v)snprintf, which are C99 (#772) * Update missing release note info. (#776) * Replaces the H5_OVERRIDE macro with override (#773) The macro is no longer necessary now that we require C++11. * Cleans up some POSIX header bits in H5private.h (#783) * Removes outdated checks for ways inline might be defined (#781) These are obsolete now that we require C99. * Removes checks for system(), which is C89/90 (#782) * Removes C++ dependency on H5private.h (#774) * Removes C++ dependency on H5private.h Most C API calls have been removed, aside from a few uses of free, where we just dropped the 'HD'. A couple of H5_ATTR_UNUSED macros were also replaced with (void) statements. * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Further simplifies Autotools type size checks (#789) Also fixes an issue where clock_gettime and difftime are not detected due to earlier simplifications of this code. * Release Note (#784) * Normalization of CMake H5pubconf.h with Autotools (#791) Mostly just moving things around and changing the comments to keep the delta small. The only symbol change is that for curl/curl.h which I changed to H5_HAVE_CURL_CURL_H to match the Autotools. This symbol is not used in the library and is just an artifact of the checks. * Fix tools test (#794) * Removes ancient Autotools cruft (#790) * Reorganization of C and POSIX headers in H5public.h & H5private.h (#793) * Reorganization of C and POSIX headers in H5public.h & H5private.h Consolidated and removed duplicates * It turns out Windows has sys/types.h Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removes checks for signal and set/longjmp, which are C89 (#798) Also removes checks for setjmp.h and stddef.h * Assume frexpl/f and fabsl/f, which are C99 (#799) * Assume the library has C99 types in C++ type code (#806) * Assume the library has C99 types in C++ type code * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Removes obsolete equivalents of C99's __func__ (#800) * Cleans up POSIX/C bits in H5private.h (#804) * Cleans up POSIX/C bits in H5private.h * Assume difftime exists (C89) * Reorg AC_CHECK_HEADERS so headers are in alphabetical order * Split off networking-related AC_CHECK_HEADERS * Remove unused UNAME_CYGWIN from configure.ac * Remove checks for unused sys/timeb.h * Tidying pass over H5private.h HD prefix macros * Tidy H5win32defs.h * Add HD prefix to various scanf calls * Committing clang-format changes * Fixes to the alarm(2) code used in the tests to make Windows happy Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> * Brings the tools getopt(3) replacement into the main library (#803) * Moves get_option from the tools library to the C library * Adds H5 prefix to get_option call and variables * Renames the H5_get_option long options struct and enum * Removes type guesses when C99 types are missing (#807) * Assume C99 types exist in H5detect.c (#808) * Fixes parallel issues from recent C99 changes * Adds MPE FUNC --> __func__ changes missed in earlier PRs * Fix typo * Fixes parallel issues from recent C99 changes (#809) * Fixes parallel issues from recent C99 changes * Adds MPE FUNC --> __func__ changes missed in earlier PRs * Even more missed FUNC --> __func__ macros * Removes remaining H5_TIME_WITH_SYS_TIME cruft (#810) Mostly from CMake Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Larry Knox <lrknox@hdfgroup.org>
* Brings native H5Fdelete implementation from developDana Robinson2021-05-051-0/+1
|
* Normalization with develop (mainly VFDs)Dana Robinson2021-05-051-433/+333
|
* Brings trace changes from developDana Robinson2021-04-061-2/+2
|
* Updates license url and history docsDana Robinson2021-03-251-1/+1
|
* Formats the source and updates the gcc warning pragmasDana Robinson2021-03-251-229/+173
|
* Merge branch 'aug-develop' into aug-merge-attempt/feature/vfd_swmrDavid Young2020-08-041-0/+3
|\
| * Patch a few holes in the Splitter VFD implementation.Jacob Smith2020-05-291-0/+3
| | | | | | | | | | * Missing logfile close on driver-open failure. * Initialize empty string in test/vfd (logfile path in W/O compat check).
| * Add Splitter VFD to library.Jacob Smith2020-03-131-0/+1467
| | | | | | | | | | | | | | | * "Simultaneous and equivalent" Read-Write and Write-Only channels for file I/O. * Only supports drivers with the H5FD_FEAT_DEFAULT_VFD_COMPATIBLE flag for now, preventing issues with multi-file drivers. Add Mirror VFD to library. * Write-only operations over a network. * Uses TCP/IP sockets. * Server and auxiliary server-shutdown programs provided in a new directory, `utils/mirror_vfd`. * Automated testing via loopback ("remote" of localhost).
* Change H5F_open to perform deduplication of open VFDs in a more flexible way,David Young2020-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 *.
* Add Splitter VFD to library.Jacob Smith2020-05-201-0/+1467
* "Simultaneous and equivalent" Read-Write and Write-Only channels for file I/O. * Only supports drivers with the H5FD_FEAT_DEFAULT_VFD_COMPATIBLE flag for now, preventing issues with multi-file drivers. Add Mirror VFD to library. * Write-only operations over a network. * Uses TCP/IP sockets. * Server and auxiliary server-shutdown programs provided in a new directory, `utils/mirror_vfd`. * Automated testing via loopback ("remote" of localhost).