* commit '3768566139df18928aa29ece0eff3010b224633b':
Add release notes.
Correct hid_t error value to H5I_INVALID_HID in tests related to libver_bounds.
Fix for HDFFV-10808 H5Pset_file_space_strategy succeeds when using H5Pset_libver_bounds v18,v18. Fails file creation when non-default free-space info is set in fcpl and the library version high bound is less than v110 because free-space info message is introduced in library release v110.
Fails file creation when non-default free-space info is set in fcpl and the library version
high bound is less than v110 because free-space info message is introduced in library release v110.
* commit '35fd0ec8ceffe96cee352187154da15c967fb990':
Updated H5Tcopy() to get the dataset's datatype through the VOL when that is passed in as the object ID.
Fix fortran test and test library linking
Update GCC 6 & 7 flags for CMake builds
Move -Wnormalized down into GCC 6.x flags
Put the memcpy overlap check back into H5MM.
Fixed the heap overflow in t_filters_parallel
Fixed some low-hanging fruit from -fsanitize in t_filters_parallel.
Add lib dir for testing plugins
Add support for GCC 7.x warnings, update warnhist script to account for them, clean up warnings.
Add H5_HLDLL prefix for windows link
HDFFV-10805 cleanup examples and test code
Fix minor typo in H5S_select_iter_release
Add missing fortran mods
HDFFV-10805 Fix test of library libinfo
Cleanup possible CMake target conflicts
Correct CMake issues
* commit '2e973f7e12301975f9d8dfdd5534682525554e77':
Fix minor typo in H5S_select_iter_release
Fix memory leak in objcopy test after H5Aread of vlen data
* commit '6a1e9a1fbe9606d0dd3452092cab17794e131e64':
Fixed a problem in the ohdr test where hard-coded strings passed to H5Awrite() triggered -fsanitize failures.
* commit '712a2a13d8add828d053135a172abb2e819d59ad':
Fixed a warning in H5CX.c concerning incorrect use of freeing VOL connector info.
Add H5S_SEL_ITER_SHARE_WITH_DATASPACE selection iterator creation flag, to share dataspace's selection with iterator (and with caution about not modifying or closing the dataspace while the iterator is open).
Fix misc. typos, etc. from code review
New hyperslab selection routines and new public selection iterator routines.
* commit 'dfdc27b04b2e8bcd1985ba90ce6553d8b3805fda':
Fix release notes based on feedback from pull request.
Fix for HDFFV-10800 H5Ocopy failure: The value for the H5F_LIBVER_V18 index in H5O_fill_ver_bounds[], the format version bounds array for fill value message, should be version 3 not 2.
* H5VLconnector.h for terminal connector things
* H5VLconnector_passthru.h for passthrough connector things
Note that these headers are arranged such that they are included in
hdf5.h so VOL connectors only need to include that. The separation into
multiple headers is mainly for readability.
* commit '08b009cc4ab2a8d8d289697d6d4688c0e5c53c6e':
Clean up if-else chain.
Remove thread-local copy of hyperslab operation generation value.
Core changes to selection code from the hyperslab_updates branch.
* commit 'e66bf948a7acba0ddc76239f6d02f17c8b10eb0f':
Fix for split VFD and file cleanup when testing H5Fis_hdf5 and H5Fis_accessible in tfile.c.
Improvements to the H5Fis_accessible() and H5Fis_hdf5() tests in tfile.c. * General code tidying. * Expanded tests to work with multi-file VFDs.
* commit '62198c2436ac3787afb49fa990d1ba8204264dba':
Add an 'unwrap' VOL callback, so that connectors can unwrap an underlying object without closing it. (Especially needed for pass-through connectors)
* commit '53a5c3be903ce7c24d02a6bd3a8d9b07a3f82404':
Change the checking to H5I_INVALID_HID in test_attr_dense_rename().
Fix for HDFFV-10579 H5Arename fails when creation order of attributes is tracked. The attribute needs to be removed from the creation order index v2 B-tree before re-inserting the renamed attribute via H5A__dense_insert().
* commit 'b5ef82a1786605ae86502bc82086047720b7d4ca': (21 commits)
Moving the handling of null prefix into H5_combine_path.
Changing the prefix of external file and VDS from empty string to null for performance improvement.
Improving the condition checking of empty string.
Replacing string operation strdup with assignment for empty string.
Adding back links_env.out which I accidentally removed in my previous commit.
Taking out two unnecessary diff output files.
Taking out unnecessary diff files for output.
Adding some comments.
Some coding style changes.
Adding the standard output files for the external_env.c and vds_env.c tests.
Small correction for my previous commit.
Forgot to add external_common.c and external_common.h.
Updated CMake for the splitting of external.c and vds.c.
Minor fix: removal of unnecessary enum values.
Minor fixes: updating the test vds_env.c according to the set up of vds.c.
Left out this file in previous commit.
HDFFV-10658 - setting and getting properties in API context: 1. switched to use the existing H5F_prefix_open_t for enum type; 2. put the common private function used by external.c and external_env.c into external_common.c
This commit basically has the following changes: 1. restored the datatype, dataspace, and LCPL of the dataset for VOL connector back to the properties. 2. splitted external.c and vds.c because they called HDsetenv in the program, instead using shell scripts to set the environment variables. 3. changed H5CX_get_vds_prefix and H5CX_get_ext_file_prefix to use H5P_peek instead of H5P_get.
HDFFV-10658: I left out this file in my previous commit.
HDFFV-10658: 1. moving HDgetenv to dataset initialization stage to reduce the overhead; 2. restoring the retrieval of three vol properties to H5P_get instead of using API context to prepare for Quincey's upcoming refactoring work.
...
* commit '9ee3d472113fc3e66ef34e40a0990ed07a2824bc':
Renamed the HDF5_TEST_VOL option to HDF5_TEST_PASSTHROUGH_VOL.
Renamed the autotools check-vol target to check-passthrough-vol.
1. switched to use the existing H5F_prefix_open_t for enum type;
2. put the common private function used by external.c and external_env.c into external_common.c
1. restored the datatype, dataspace, and LCPL of the dataset for VOL connector back to the properties.
2. splitted external.c and vds.c because they called HDsetenv in the program, instead using shell scripts to set the environment variables.
3. changed H5CX_get_vds_prefix and H5CX_get_ext_file_prefix to use H5P_peek instead of H5P_get.
* commit 'fe104cc38ffbdb39d3e04da107d86ebfc7e8b622':
Test improvement Description Moved the new tests to a more appropriate test function. Platforms tested: Linux/64 (jelly)
Fixed HDFFV-10210 and HDFFV-10587 Description: - Added parameter validation (HDFFV-10210) - Added detection of division by zero (HDFFV-10587 - CVE-2018-17438) - Fixed typos in various tests Platforms tested: Linux/64 (jelly) Linux/64 (platypus) Darwin (osx1011test)
Description:
- Added parameter validation (HDFFV-10210)
- Added detection of division by zero (HDFFV-10587 - CVE-2018-17438)
- Fixed typos in various tests
Platforms tested:
Linux/64 (jelly)
Linux/64 (platypus)
Darwin (osx1011test)
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.
* commit '5ad3891d9b861593ebe25d540bed2d913eb83aba':
Remove ' ' (typo).
Code improvement
Removed an extra "using" statement
Adding documentation
More changes to align with incoming selection improvements.
Added C++ wrapper for H5Ovisit2
Adding a C++ wrapper
HDFFV-10586 and HDFFV-10588
* commit '25cd1ab02b9ddaf58a4f5422f4ab4fde411e050a':
Added test for HDFFV-10588
Fixed HDFFV-10684
Fixed HDFFV-10586 and HDFFV-10588 Description: HDFFV-10586 CVE-2018-17434 Divide by zero inh5repack_filters Added a check for zero value HDFFV-10588 CVE-2018-17437 Memory leak in H5O_dtype_decode_helper This is actually an Invalid read issue. It was found that the attribute name length in an attribute message was corrupted, which caused the buffer pointer to be advanced too far and later caused an invalid read. Added a check to detect attribute name and its length mismatch. The fix is not perfect, but it'll reduce the chance of this issue when a name length is corrupted or the attribute name is corrupted. Platforms tested: Linux/64 (jelly) Linux/64 (platypus) Darwin (osx1010test)
* commit 'b02de315b93ac29d2483a91d526b110a25073505':
NNSA Tri-LabsTRILAB-98: Another two test cases out.
NNSA Tri-Labs TRILAB-98: Taking out a few more test cases.
NNSA Tri-Labs TRILAB-98 dt_arith and cpp_testhdf5 tests fail on sierra.llnl.gov: According to the group decision, simply provide a macro to disable some failing test cases on sierra (IBM power9 cpu). All failing cases involve long double data type.
the message type until we've verified we understand the message type.
Reduce size of H5O_msg_class_g to *not* include space for
H5O_BOGUS_INVALID. Make bogus messages shareable. Add new bogus
message test with shareable messages to cover the formerly problematic
code. Re-run gen_bogus.c to add this test case and also to fix the
bogus_invalid messages that were no longer H5O_BOGUS_INVLAID due to a
new message class being added in a previous commit. Added comment to
remind developers to run gen_bogus.c when adding a new message class.
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).
* commit 'd6c2a96ac2f103d90b96d5b39814810e6a31ef99':
Updated the parallel install docs.
Eliminated the need for a separate script variable.
Added a helpful message to the flush script.
Added a shell script so we can run the parallel flush test on OpenMPI.
* commit '3ca19cca5395d79be69209f8d7d0a2b06834a648':
Flipped swapped testing strings.
Added test_vol_plugin.sh to the list of scripts to clean
Fixed a CMake build issue (CMake still doesn't run the VOL plugin tests)
Added more sub-tests to the VOL plugin test.
Added a simple test for registration of VOL connector plugins. Autotools only for right now, but this will be fleshed out in future work.
after deleting attributes in densed storage.
The fix: When deleting attribute nodes from the name index v2 B-tree,
if an attribute is found in the intermediate B-tree nodes, which may be
merged/redistributed in the process, we need to free the dynamically
allocated spaces for the intermediate decoded attribute.
* commit 'b4fe787bb9fe4bfc4709a124df59dd987c9a09d2':
Add test for H5Arename NULL/empty attribute name fix
align H5Arename behavior with H5Arename_by_name
* commit '991996b25122ff010b9af1bbb6cc05be491ce038':
Remove unused CMake files
Update option text
Add reference file to list
HDFFV-10656 remove moved source
HDFFV-10656 Add CHECK_VOL support to CMake
* commit 'e21c1cf7c6ee6dba5dd5bfd1a525227ac1304b53':
Removed H5I_REFERENCE from the library. It has always been unused and has been marked 'deprecated' since 1.10.0. Fixes HDFFV-10252.
* commit 'deb7d2fb9714acc8222815328f71b0aae7e74275':
Use version 2 functions in test file to address compile errors for --with-default-api-version=v16 option.
* commit '4643860aa940fb52da251f7023ec2e48d7d10f34':
HDFFV-10635: Some minor changes to the test case and the comments in the library.
HDFFV-10635: add a test case.
HDFFV-10635: Allowing to write the same variable-length element more than once.
* commit '3e8599591504c95d8a97100b9546174f6132dc97':
HDFFV-10635: Some minor changes to the test case and the comments in the library.
HDFFV-10635: add a test case.
HDFFV-10635: Allowing to write the same variable-length element more than once.
* commit '55e87e5b86aacbb37c57614cd2e869541291caad': (51 commits)
Correct Windows build.
Refactor allocating & releasing pass through wrapper objects.
Fix typo
Remove duplicated comment.
Add a couple of missing prototypes for static routines, along with updating a comment from VOL plugin -> connector.
Switch H5VL_class_value_t from unsigned to int, and add "invalid" ID value.
Correct "make check-vol" regression test target.
Switch H5VL_class_value_t from enum to unsigned integer
Add support for "make check-vol", along with a few minor cleanups, etc.
Refactor infrastructure for setting FAPL information from environment variables during testing, including connecting native, pass-through, and dynamically loaded VOL connectors. Also bring native and pass-through VOL connectors into alignment, removing the "H5VLnative_private.h" header.
Remove example VOL connector, since it's been superceded by the pass-through VOL connector in the src subdirectory.
Add pass-through VOL connector
Update API tracing info for VOL functions and regenerate trace macros for VOL API calls.
Added 'notify' callback for async requests; switched VOL class and info comparison to return comparison value as parameter, so they can return error values; "cancelled" -> "canceled"; switched order of 'wrap_object' and 'free_wrap_ctx' management callbacks.
Add using FAPL from h5_fileaccess() to more tests.
Remove unused test for unimplemented routine.
Switch loc_params to VOL callbacks to pass struct by pointer instead of by value.
Add info_to_str and str_to_info "management" callbacks for serializing and deserializing a connector's info object.
Revert some of the changes to support the original property list value of metadata read attempts.
Add VOL connector info to the flie access property list returned from H5Fget_access_plist(). Also, other misc. cleanups, etc.
...
variables during testing, including connecting native, pass-through, and
dynamically loaded VOL connectors. Also bring native and pass-through
VOL connectors into alignment, removing the "H5VLnative_private.h" header.
This brings the H5VL code in line with the H5I code regarding
naming, parameter order, etc.
Several public API calls were affected by this change.
These changed names to reflect their use with VOL drivers:
H5VLregister() --> H5VLregister_driver()
H5VLregister_by_name() --> H5VLregister_driver_by_name()
H5VLunregister() --> H5VLunregister_driver()
H5VLis_registered() --> H5VLis_driver_registered()
This call was renamed to match H5Iregister(). The order of the first
two parameters also reversed and the object pointer is now const.
H5VLobject_register() --> H5VLregister()