7948 Commits

Author SHA1 Message Date
bmribler
9fd4fd0b58
Replace incorrect use of an internal function (#4668)
* Replace incorrect use of an internal function

In some API functions, the internal function H5I_object() was used instead
of H5I_object_verify(), which verifies the type of an ID argument.  So
when an inappropriate ID was passed in to the affected API, it was accepted.
This behavior can cause issues at a later time, including a segfault, as
reported in issue #GH-4656.

The fix was applied to the following functions:
H5Fget_intent()
H5Fget_fileno()
H5Fget_freespace()
H5Fget_create_plist()
H5Fget_access_plist()
H5Fget_vfd_handle()
H5Dvlen_get_buf_size()
H5Fget_mdc_config()
H5Fset_mdc_config()
H5Freset_mdc_hit_rate_stats()

Fixes GH-4662
2024-07-24 10:42:58 -05:00
Quincey Koziol
641790b759
Eliminate more H5E_BEGIN/END_TRY macros and H5E_clear_stack() calls (#4648) 2024-07-17 07:46:06 -05:00
Allen Byrne
e71605966a
Update doxygen Learn Basics / example refs. Add Reference sections (#4640) 2024-07-15 22:02:08 -05:00
mattjala
e6e098b7c3
Correct H5VL_t ref count on H5O_refresh_metadata failure (#4636)
* Fix bad H5VL_t rc on H5O_refresh_metadata fail

* Decrement nrefs before raising error
2024-07-15 11:01:15 -07:00
jhendersonHDF
74fbc1dbd4
Add temporary fix for ARM64 Mac _Float16 build failure (#4639) 2024-07-15 11:28:13 -05:00
Allen Byrne
6fa09bdb15
Add h5* compiler wrapper testing for CMake #4605 (#4613)
* Add show option

* remove non-static libs and correct names of static libs

* Fixup the pkg-config libs and comp builds

* Fix commands and add fortran pkg-config test scripts

* Add help usage option
2024-07-15 10:16:16 -05:00
Quincey Koziol
4f7891e144
Remove some internal use of API calls and H5E_BEGIN_TRY/H5E_END_TRY (#4624) 2024-07-11 23:30:58 -07:00
Dana Robinson
49feed3c8a
Fix a stack size warning in ros3 VFD code (#4625)
Just makes a stack array dynamic. Valgrind shows no memory leaks.
2024-07-03 08:00:32 -07:00
Quincey Koziol
5eb23af925
Add 'try' parameter to H5Z_find, and remove calls to H5E_clear_stack() (#4609) 2024-07-02 13:05:16 -07:00
jhendersonHDF
773831f3cb
Add H5F_LIBVER_V116 to internal library version structures (#4619)
Also add H5F_LIBVER_V116 flag to Fortran wrappers
2024-07-02 09:26:05 -05:00
mattjala
546b79673c
Document VOL object wrapping context (#4611) 2024-06-29 13:22:35 -07:00
mattjala
cefadcf70a
Correct documentation for return-and-read fields (#4598) 2024-06-26 20:39:12 -07:00
Quincey Koziol
81a563fc2d
Bring subfiling VFD code closer to typical library code (#4595)
Remove API calls, use FUNC_ENTER/LEAVE macros, use the library's error macros,
rename functions to have more standardized names, etc.
2024-06-26 20:35:35 -07:00
Quincey Koziol
59f010ec2e
Removed unnecessary call to H5E_clear_stack (#4607)
H5FO_opened and H5SL_search don't push errors on the stack
2024-06-26 17:41:03 -05:00
mattjala
0c4041f846
Document that ctx VOL property isn't drawn from the FAPL (#4597) 2024-06-24 12:04:48 -05:00
Dana Robinson
9fe7132fe3
Remove dead H5FD_s3comms_percent_encode_char() (#4591) 2024-06-19 16:22:21 -05:00
Dana Robinson
45711d7c94
Remove magic fields from s3comms structs (#4589) 2024-06-19 13:03:10 -07:00
Dana Robinson
f931c2aed2
Removed unused code from H5FDs3comms.c (#4588)
* H5FD_s3comms_nlowercase()
* H5FD_s3comms_trim()
* H5FD_s3comms_uriencode()
2024-06-19 12:24:13 -07:00
Dana Robinson
ef701abb90
Remove printf debugging from H5FDs3comms.c (#4584) 2024-06-19 07:51:50 -05:00
Dana Robinson
9e1a9abc64
Remove public API call from ros3 VFD (#4583) 2024-06-19 07:49:07 -05:00
mattjala
90cfab3c05
Clarify documentation for H5CX_get_data_transform (#4580)
* Correct comment for H5CX_get_data_transform

* Document why data transform ctx field doesnt use macro
2024-06-19 07:48:11 -05:00
Quincey Koziol
850d6c8f06
Pause recording errors instead of clearing the error stack (#4475)
An internal capability that's similar to the H5E_BEGIN_TRY / H5E_END_TRY
macros in H5Epublic.h, but more efficient since we can avoid pushing errors on
the stack entirely (and those macros use public API routines).

This capability (and other techniques) can be used to remove use of
H5E_clear_stack() and H5E_BEGIN_TRY / H5E_END_TRY within library routines.

We want to remove H5E_clear_stack() because it can trigger calls to the H5I
interface from within the H5E code, which creates a great deal of complexity
for threadsafe code.  And we want to remove H5E_BEGIN_TRY / H5E_END_TRY's
because they make public API calls from within the library code.

Also some other minor tidying in routines related to removing the use of
H5E_clear_stack() and H5E_BEGIN_TRY / H5E_END_TRY from H5Fint.c
2024-06-18 14:17:43 -07:00
Dana Robinson
82a0ff1127
Turn off ros3 VFD stat collection by default (#4581)
Not a new change - an artifact from a previous check-in.
2024-06-18 14:15:30 -07:00
Dana Robinson
49e32531ef
Clean up ros3 VFD stats code (#4579)
* Removes printf debugging
* Simplifies and centralizes stats code
* Use #ifdef ROS3_STATS instead of #if
* Other misc tidying
2024-06-18 11:50:27 -07:00
Dana Robinson
6bc6fb641f
Clean up comments in H5FDros3.c (#4572) 2024-06-17 11:00:22 -07:00
mattjala
2fa630c1cd
Document H5Punregister modifying default properties (#4570) 2024-06-15 10:45:12 -07:00
mattjala
ce99ebcc99
Clarify H5CX macro documentation (#4569) 2024-06-14 09:18:25 -07:00
mattjala
db4465f2e9
Document property shared name behavior (#4565) 2024-06-14 09:17:57 -07:00
mattjala
acbbf15202
Add property names to context field docs (#4563) 2024-06-14 09:04:49 -07:00
jhendersonHDF
4a0b1b66a5
Allow usage of page buffering for serial file access from parallel HDF5 builds (#4568) 2024-06-13 14:18:31 -05:00
mattjala
09fe0ba079
Document 'return-and-read' field in API context (#4560) 2024-06-12 07:57:38 -05:00
Dana Robinson
f44fa558f2
Clean up off_t --> HDoff_t stragglers (#4555)
* off_t --> HDoff_t in test

* off_t --> HDoff_t in h5ls, h5dump, & h5repack

* Minor off_t tweak to configure.ac

* off_t --> HDoff_t fixes in src

This changes the type of the offset parameter in H5Pget_external()
to HDoff_t to match H5Pset_external(), along with other minor tweaks.

* off_t --> HDoff_t in C++ wrappers

* Fix off_t usage in Java wrapper
2024-06-07 17:25:06 -07:00
mattjala
0cd6a094ab
Correct property cb signatures in docs (#4554)
* Correct property cb signatures in docs
* Correct delete callback type name in docs
* add missing word to H5P__free_prop doc
2024-06-07 17:09:32 -07:00
mattjala
c18f1fb5d9
Simplify property copying between lists internally (#4551) 2024-06-07 16:59:49 -07:00
mattjala
c1b3255c69
Fix typos in context/property documentation (#4550) 2024-06-07 09:04:40 -07:00
Philipp Oppermann
b698b484ae
Change type of offset arg in H5Pset_external to HDoff_t (#3505)
The `off_t` type is only 32-bit on Windows, which makes it impossible to link to higher offsets in large files.

The `H5O_efl_entry_t` struct defines its `offset` field already as `HDoff_t`, so no additional conversion is needed.
2024-06-04 14:16:27 -07:00
Larry Knox
826bef160f
Fix a few function names in USAGE comments that don't match the actual (#4533)
* Fix a few function names in USAGE comments that don't match the actual
function names.

* Remove typo '['

* Switch to working url for api-compatibility-macros.html.
2024-06-02 13:27:27 -07:00
Quincey Koziol
12740af4a6
Refactor to reduce code duplication (#4531)
* Update error output w/new routine name
2024-05-30 22:12:30 -05:00
Quincey Koziol
fd6d4cd6ba
H5FDquery return value (#4530)
* Switch H5FDquery() return values to use library's FAIL / SUCCEED macros

* Update return value also
2024-05-30 22:11:29 -05:00
mattjala
acb9ca5f99
Fix typos in property callback documentation (#4532) 2024-05-30 07:48:15 -05:00
Allen Byrne
162e7d676d
Allow HDF5_LIB_INFIX to work with DLL (#4500)
* Allow HDF5_LIB_INFIX to work with DLL

* Separate individual library name into parts and add suffix option

* Java cannot use alternative names and removed extra setting

* Incorporate the underscore into the CORE name
2024-05-28 08:27:15 -07:00
H. Joe Lee
8873e17e88
Fix function name in USAGE for H5Pencode2() (#4519) 2024-05-28 08:26:13 -07:00
Dana Robinson
0ae9c7021a
Move/rename libhdf5.settings input files (#4525)
Move without other changes:

src/libhdf5.settings.in -> src/libhdf5.settings.autotools.in
config/cmake/libhdf5.settings.cmake.in -> src/libhdf5.settings.cmake.in
2024-05-24 15:59:52 -05:00
mattjala
d3f5e07b1e
Fix typo in DAPL callback documentation (#4523) 2024-05-24 07:41:07 -05:00
jhendersonHDF
8897e25b00
Fix spelling (#4522) 2024-05-23 16:44:33 -05:00
Quincey Koziol
fcfab6f483
Don't update 'pos' and 'op' fields when using pread/pwrite (#4492)
Instead of reading the absolute minimal possible, use the likely value of
a v2+ superblock w/8-byte addresses & lengths.
2024-05-23 08:38:18 -07:00
bmribler
b6b7f547be
Fixed link to Filters page. (#4514)
Forum post #12321
2024-05-22 04:10:29 -07:00
vchoi-hdfgroup
757ca525a7
Fix for github Issue #1388 can't delete renamed dense attribute with corder tracking enabled (#4462)
* Fix for github issue #1388: can't delete renamed dense attribute with corder tracking enabled

The problem occurs in step 3(b) below which will delete the attribute with corder x
from the creation order index v2 B-tree.

The rename sequence in H5A__dense_rename() occurs in the following order:
1) The old attribute with corder x was removed from the creation order index v2 B-tree
2) The new renamed attribute was inserted via H5A__dense_insert():
(a) insert the attribute with new name j into the name index v2 B-tree
(b) insert the attribute with corder x into the creation order index v2 B-tree
3) The old attribute was removed via H5A__dense_remove():
(a) remove the attribute with old name k from the name index v2 B-tree
(b) remove the attribute with coorder x from the creation order index v2 B-tree

Fix: deactivate the "corder_bt2_addr" field so that H5A__dense_remove()
won't delete the attribute with corder x from the creation order index v2 B-tree.
2024-05-17 11:05:27 -05:00
Quincey Koziol
74c7cdb2b7
Improve spec. reading superblock into cache (a little) by using v2 size (#4491)
* Improve spec. reading superblock into cache (a little) by using v2 size

Instead of reading the absolute minimal possible, use the likely value of
a v2+ superblock w/8-byte addresses & lengths.
2024-05-17 08:30:30 -05:00
Quincey Koziol
2c2e39c72f
Disable EOF checks for SWMR readers in more cases. (#4489)
Fixes a race condition where the reader opens the file and sets its EOF from the
file's size (from the stat() call in the driver open callback).  Then, before
the reader can read the file's superblock, a SWMR writer races in, extends the
file, and closes the file, writing an updated superblock with the 'writer' and
'SWMR writer' flags in the superblock off (appropriately).  Then the reader
proceeds to read the superblock, and flags the EOF as wrong.  Taking out the
check for the 'writer' and 'SWMR writer' flags will cause SWMR readers to avoid
flagging the file as incorrect.
2024-05-15 13:55:30 -05:00