Commit Graph

231 Commits

Author SHA1 Message Date
David Young
dc97b9a165 Merge branch 'aug-develop' into aug-merge-attempt/feature/vfd_swmr 2020-08-04 10:22:47 -05:00
David Young
2a64d2fe93 Change H5F_open to perform deduplication of open VFDs in a more flexible way,
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 *.
2020-07-30 16:53:01 -05:00
Jacob Smith
e1215177b6 * Fix intermittent error with Splitter VFD.
Mismatch in time of test file creation was creating false negatives.

    Add file-duplication routine: `h5_duplicate_file_by_bytes()`.

* Change library calls in `h5test.c:h5_compare_file_bytes()` to their HD-prefixed equivalents.
2020-06-25 12:24:05 -05:00
Quincey Koziol
d35daa45e9 Trim trailing whitespace 2020-05-20 09:37:19 -05:00
Jacob Smith
b11015c4cc Add Splitter VFD to library.
* "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).
2020-05-20 09:34:20 -05:00
David Young
364a277143 Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
Fix a typo in the H5TS_thread_init() comment and reword some ID
properties.
2020-05-20 09:31:54 -05:00
David Young
06dfd6025d Replace pthread_self_ulong() with H5TS_thread_id(). The POSIX Threads
implementation ought to be portable to any system that has POSIX
Threads.  On Windows, I use the same API call as before.
2020-05-20 09:31:54 -05:00
David Young
13bb3afdc6 Reduce differences between my -Werror branch and develop:
Rename index -> idx, fileno -> fnumber, fileno -> fno to avoid GCC
shadowed declaration warnings about index(3).

Convert #pragma GCC diagnostic push/pop/ignored to the HDF5 library's
H5_GCC_DIAG_OFF()/H5_GCC_DIAG_ON() macros.
2020-05-20 09:31:54 -05:00
kmu
1e5dd76d25 fix unused function warning 2020-05-20 09:31:53 -05:00
Dana Robinson
3e6a192e9c Squashed commit of the token_refactoring branch: 2020-05-20 09:31:50 -05:00
kmu
1d46e82317 fix intel compile warnings 2020-05-20 09:20:25 -05:00
kmu
3e4a99d17d Revert "fix warnings and some text alignment"
This reverts commit d06474c4e1.
2020-05-20 09:20:24 -05:00
kmu
c1f6c50b35 fix warnings and some text alignment 2020-05-20 09:20:23 -05:00
Dana Robinson
e4f9ad3dbb Yanked -Wc++-compat from the flags used to build the C library in both
the Autotools and CMake.
2020-05-20 09:20:18 -05:00
Quincey Koziol
9e5dbf6906 Trim trailing whitespace 2020-04-20 18:12:00 -05:00
Jacob Smith
b65405439d Add Splitter VFD to library.
* "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).
2020-03-13 17:13:17 -05:00
David Young
a20b68b257 Change thread IDs to uint64_t from unsigned long, per Quincey's suggestion.
Fix a typo in the H5TS_thread_init() comment and reword some ID
properties.
2020-02-03 16:23:06 -06:00
David Young
986c7451a0 Replace pthread_self_ulong() with H5TS_thread_id(). The POSIX Threads
implementation ought to be portable to any system that has POSIX
Threads.  On Windows, I use the same API call as before.
2020-02-03 11:59:14 -06:00
kmu
c586d91ea0 Merge branch 'develop' into misc 2020-01-29 14:03:48 -06:00
David Young
fa1b2f6ef3 Reduce differences between my -Werror branch and develop:
Rename index -> idx, fileno -> fnumber, fileno -> fno to avoid GCC
shadowed declaration warnings about index(3).

Convert #pragma GCC diagnostic push/pop/ignored to the HDF5 library's
H5_GCC_DIAG_OFF()/H5_GCC_DIAG_ON() macros.
2020-01-28 20:35:28 -06:00
kmu
52115036dd fix unused function warning 2020-01-28 14:25:40 -06:00
Dana Robinson
a92c735c9b Squashed commit of the token_refactoring branch: 2020-01-16 13:29:34 -08:00
David Young
c8f533cfc3 Merge all of my changes from merge-back-to-feature-vfd_swmr-attempt-1,
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!
2019-12-09 10:30:58 -06:00
kmu
8b51394f38 Merge branch 'develop' into bugfix/intel_warnings 2019-12-09 09:18:56 -06:00
Dana Robinson
1ad02a4459 Yanked -Wc++-compat from the flags used to build the C library in both
the Autotools and CMake.
2019-12-04 00:49:52 -08:00
kmu
132fa33dad fix intel compile warnings 2019-12-03 20:52:55 -06:00
kmu
bfbd613f53 Revert "fix warnings and some text alignment"
This reverts commit d06474c4e1.
2019-11-26 17:24:24 -06:00
kmu
d06474c4e1 fix warnings and some text alignment 2019-11-11 10:49:37 -06:00
Allen Byrne
b2f52d0b07 Update versioning to next major version 2019-09-25 17:28:17 -05:00
David Young
0880c57d13 Straggler from last commit: make TESTING() take printf-like varargs
arguments.
2019-09-23 10:34:01 -05:00
Allen Byrne
43ff3fdc33 fix get gethostname for windows 2019-08-28 10:19:03 -05:00
Allen Byrne
64e6665b54 Add HD prefix to tests 2019-08-15 16:46:15 -05:00
Allen Byrne
c60ceb8c08 Merge reconciliation and VFD test fixes 2019-08-04 15:19:51 -05:00
Quincey Koziol
db7c43d375 Updates to warnhist script, along with a few cleanups, and add some comments
to warning cleanups that are a bit obscure.
2019-07-09 22:15:36 -05:00
Quincey Koziol
3b594992d6 Add support for GCC9, update warnhist script, and clean up warnings. 2019-07-02 23:43:45 -05:00
Dana Robinson
0c896fcdf9 Missed an env check before strcmp. 2019-04-29 14:50:13 -07:00
Dana Robinson
e66bf948a7 Fix for split VFD and file cleanup when testing H5Fis_hdf5
and H5Fis_accessible in tfile.c.
2019-04-26 12:10:54 -07:00
Dana Robinson
568c3624de Improvements to the H5Fis_accessible() and H5Fis_hdf5() tests
in tfile.c.
* General code tidying.
* Expanded tests to work with multi-file VFDs.
2019-04-25 01:07:42 -07:00
Vailin Choi
0073f19897 Set V112 as the latest format and extend the arrays of version bounds. 2019-04-04 16:29:37 -05:00
Quincey Koziol
deeb302747 Specify the default VOL connector to use with an environment variable.
This implicitly adds support for changing the VOL connector for command-line
tools or any application linked with the library.

Also, add 'make check-vol' support for all directories, clearing up necessary
issues in testing scripts, etc.
2019-03-09 21:41:38 -06:00
Dana Robinson
32ea4e72f1 Merge branch 'develop' into c_stdlib_posix_call_cleanup 2019-02-19 14:49:20 -08:00
Quincey Koziol
3a31d37abb Work around compiler fussiness on platypus. 2019-01-11 10:11:31 -06:00
Dana Robinson
536a32c59b C and POSIX call cleanup 2019-01-10 17:51:42 -08:00
Quincey Koziol
92300f954f Corrected comment in src/H5VLint.c, fixed pass-through info size in
src/H5VLpassthru.c, switched to stashing VOL connector ID & info in
API context (in src/H5CX.c, src/H5CXprivate.h, src/H5F.c, src/H5Fint.c, and
src/H5Fefc.c), patched up all sorts of issues in the tests, to make them work
with 'check-vfd' (and 'check-vol' again).
2019-01-05 23:06:45 -06:00
Dana Robinson
a3faa92653 Merge branch 'develop' into openmpi_tweaks 2018-12-30 22:24:42 -08:00
Jacob Smith
29497cc4e1 Merge branch 'develop' into dset_ohdr_minimize 2018-12-27 12:33:32 -06:00
Dana Robinson
fe1a5b4279 Added a shell script so we can run the parallel flush test
on OpenMPI.
2018-12-20 03:03:16 -08:00
Quincey Koziol
f1d8d889b4 Correct core VFD to run with a 1MB increment instead of a 1 byte increment! 2018-12-19 17:16:45 -06:00
Jacob Smith
38de07aea3 Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize 2018-12-19 15:14:51 -06:00
Jacob Smith
5efc08a06d Merge branch 'develop' into dset_ohdr_minimize 2018-12-18 11:50:58 -06:00