summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix memory leak in H5LTopen_file_image when H5LT_FILE_IMAGE_DONT_COPY flag ↵jhendersonHDF2024-02-261-3/+11
| | | | | | | | | is used (#4021) When the H5LT_FILE_IMAGE_DONT_COPY flag is passed to H5LTopen_file_image, the internally-allocated udata structure gets leaked as the core file driver doesn't have a way to determine when or if it needs to call the 'udata_free' callback. This has been fixed by freeing the udata structure when the 'image_free' callback gets made during file close, where the file is holding the last reference to the udata structure.
* Improve performance of flushing single objects (#4017)Neil Fortner2024-02-238-258/+126
| | | | | Improve performance of flushing a single object, and remove metadata cache flush markers
* Fix H5F_get_access_plist to copy file locking settings (#4030)jhendersonHDF2024-02-224-46/+90
| | | | | | H5F_get_access_plist previously did not copy over the file locking settings from a file into the new File Access Property List that it creates. This would make it difficult to match the file locking settings between an external file and its parent file.
* Replaced last sprintf with snprintf (#4007)Sean McBride2024-02-2021-48/+79
| | | | | | | * Replaced last sprintf with snprintf To have the size of the buffer, it was required to change a function signature, and change all users of it. In most cases, determining the buffer size wasn't trivial and so SIZE_MAX is passed. But at least this improves the infrastructure. Someone can later figure out the correct sizes.
* Issue #1824: Replaced most remaining sprintf with safer snprint (#4003)Sean McBride2024-02-132-32/+34
|
* Add a missing file into Makefile.am for MinGW Autotools build error. (#4004)H. Joe Lee2024-02-131-1/+1
|
* Fix for github issue #2414: segfault when copying dataset with attrib… (#3967)vchoi-hdfgroup2024-02-061-2/+6
| | | | | | | | | | * Fix for github issue #2414: segfault when copying dataset with attributes. This also fixes github issue #3241: segfault when copying dataset. Need to set the location via H5T_set_loc() of the src datatype when copying dense attributes. Otherwise the vlen callbacks are not set up therefore causing seg fault when doing H5T_convert() -> H5T__conv_vlen().
* chore: fix typo (#3989)H. Joe Lee2024-02-061-1/+1
| | | close #144
* corrected warning: implicit conversion changes signedness (#3982)Scot Breitenfeld2024-02-021-1/+1
|
* Fix doxygen errors (#3962)Allen Byrne2024-01-297-19/+103
| | | | | | | | | | | * Switch warnings as errors to default OFF * Enable mac docs * Add doxygen action uses step * Use html div around snippet * Allow preset name to be an argument to cmake-ctest.yml
* Document that fileno is same for all handles (#3963)mattjala2024-01-262-10/+19
|
* Change 'extensible' to 'fixed' in H5FA code (#3964)Dana Robinson2024-01-262-2/+2
|
* Remove cached datatype conversion path table entries on file close (#3942)jhendersonHDF2024-01-234-12/+117
| | | | | | | | | | | | | | | | | | | | Remove cached datatype conversion path table entries on file close When performing datatype conversions during I/O, the library checks to see whether it can re-use a cached datatype conversion pathway by performing comparisons between the source and destination datatypes of the current operation and the source and destination datatypes associated with each cached datatype conversion pathway. For variable-length and reference datatypes, a comparison is made between the VOL object for the file associated with these datatypes, which may change as a file is closed and reopened. In workflows involving a loop that opens a file, performs I/O on an object with a variable-length or reference datatype and then closes the file, this can lead to constant memory usage growth as the library compares the file VOL objects between the datatypes as different and adds a new cached conversion pathway entry on each iteration during I/O. This is now fixed by clearing out any cached conversion pathway entries for variable-length or reference datatypes associated with a particular file when that file is closed.
* Fortran API work. (#3941)Scot Breitenfeld2024-01-231-10/+11
| | | | | | | | | | | | * - Added Fortran APIs: H5FGET_INTENT_F, H5SSELECT_ITER_CREATE_F, H5SSEL_ITER_GET_SEQ_LIST_F, H5SSELECT_ITER_CLOSE_F, H5S_mp_H5SSELECT_ITER_RESET_F - Added Fortran Parameters: H5S_SEL_ITER_GET_SEQ_LIST_SORTED_F, H5S_SEL_ITER_SHARE_WITH_DATASPACE_F - Added tests for new APIs - Removed H5F C wrapper stubs - Documentation misc. cleanup.
* Update H5Fget_obj_count/ids docs to reflect dtype behavior (#3932)mattjala2024-01-201-2/+3
| | | | | * Update H5Fget_obj_count/ids to reflect dtype behavior * Clarify comments on H5Fget_obj_ids
* Fix chid_t to hid_t (#3948)Glenn Song2024-01-201-1/+1
| | | Co-authored-by: Glenn Song <gsong@hdfgroup.org>
* Replace off_t with HDoff_t internally (#3944)Dana Robinson2024-01-183-2/+6
| | | | | | off_t is a 32-bit signed value on Windows, so we should use HDoff_t (which is __int64 on Windows) internally instead. Also defines HDftell on Windows to be _ftelli64().
* Clean up Doxygen for szip functions and constants (#3943)Dana Robinson2024-01-182-14/+46
|
* Use props for includes and remove global includes (#3921)Allen Byrne2024-01-041-2/+2
|
* Add 'warning density' computation to the warnhist script (#3910)Quincey Koziol2023-12-299-57/+45
| | | | | | | | | * Add 'warning density' computation to the warnhist script, along with several cleanups to it. Add "--enable-show-all-warnings" configure (and CMake) option to disable compiler diagnostic suppression (and therefore show all the otherwise suppressed compiler diagnostics), disabled by default. Clean up a buncn of misc. warnings. Signed-off-by: Quincey Koziol <qkoziol@amazon.com>
* Implement optimized support for vector I/O in Subfiling VFD (#3896)jhendersonHDF2023-12-276-1039/+1462
| | | | | | | | | | | | Vector I/O requests are now processed within a single set of I/O call batches, rather than each I/O vector entry (tuple constructed from the types, addrs, sizes and bufs arrays) being processed individually. This allows I/O to be more efficiently parallelized among the I/O concentrator processes during large I/O requests. * Fixed some calculations and add test cases for issues spotted from review * Removed a variable that was compensating for previous miscalculations
* Doc versions (#3903)Gerd Heber2023-12-2112-60/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added missing \since tags to H5D. * Committing clang-format changes * Fixed H5T version info. * Committing clang-format changes * Added missing version info to H5E. * Committing clang-format changes * Added version info to H5F public APIs. * Committing clang-format changes * Added missing H5Z public API version info. * Added missing version info to H5G public APIs * Added missing version info to H5I public API. * Added missing version info to H5 public APIs * Committing clang-format changes * Added missing version info to H5P public APIs * Added missing version info to H5R public APIs * Fix comment error. * Committing clang-format changes --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Remove redundant backslash character from comment. (#3899)H. Joe Lee2023-12-201-1/+1
|
* Fix typo in error message for `MPI_Type_dup`. (#3867)Luc Grosheintz2023-11-221-1/+1
|
* Fix segfault on user compound dtype conversion callback (#3842)mattjala2023-11-221-7/+10
| | | | | | * Fix segfault on user compound conversion * Check if lib conversion func is in use
* Implement selection vector I/O with collective chunk filling (#3826)vchoi-hdfgroup2023-11-162-170/+122
| | | | | | | | | | | | | | | | | * Changes for ECP-344: Implement selection vector I/O with collective chunk filling. Also fix a bug in H5FD__mpio_write_vector() to account for fixed size optimization when computing max address. * Fixes based on PR review comments: For H5Dchunk.c: fix H5MM_xfree() For H5FDmpio.c: 1) Revert the fix to H5FD__mpio_write_vector() 2) Apply the patch from Neil on the proper length of s_sizes reported by H5FD__mpio_vector_build_types() * Put back the logic of dividing up the work among all the mpi ranks similar to the original H5D__chunk_collective_fill() routine. * Add a test to verify the fix for the illegal reference problem in H5FD__mpio_write_vector().
* Change dest for doxygen (#3856)Allen Byrne2023-11-152-5/+5
| | | * Switch doxygen refs to hdf5/develop
* Make filter unregister callbacks safe for VOL connectors (#3629)mattjala2023-11-131-44/+98
| | | | | | | | | | | | * Make filter callbacks use top-level API functions When using VOL connectors, H5I_iterate may not provide valid object pointers to its callback. This change keeps existing functionality in H5Zunregister() without using potentially unsafe pointers. * Filter callbacks use internal API * Skip MPI work on non-native VOL
* Test and document path handling of H5Lcreate_* API (#3829)mattjala2023-11-111-7/+20
|
* Disable FP exceptions in H5T init code (#3837)Dana Robinson2023-11-072-18/+37
| | | | | | | The H5T floating-point datatype initialization code can raise exceptions when handling signaling NaNs. This change disables FE_INVALID exceptions during initialization. Also removes the -ieee=full change for NAG Fortran as that shouldn't be necessary anymore. Fixes #3831
* Rework MPI Info FAPL preserve PR to use VFD 'ctl' operations (#3782)jhendersonHDF2023-11-039-29/+95
|
* Fix misc. warnings from GCC when compiling with -fsanitize=undefined (#3787)jhendersonHDF2023-11-015-7/+9
|
* Remove H5system.c warning on Windows oneAPI. (#3812)H. Joe Lee2023-11-011-2/+1
|
* Fix a couple usages of MPI_Info_get (#3809)jhendersonHDF2023-10-312-4/+4
|
* Update Doxygen initializers & identifiers in VFDs (#3795)Dana Robinson2023-10-3014-52/+163
| | | | | * Add Doxygen for all H5FD_<VFD> initializers * Add Doxygen for all H5FD_<VFD>_VALUE values * Mark H5FD_<vfd>_init() calls private in Doxygen
* Add Doxygen to H5FDsplitter.h (#3794)Dana Robinson2023-10-301-55/+54
| | | | | | | | | * H5FD_CURR_SPLITTER_VFD_CONFIG_VERSION * H5FD_SPLITTER_PATH_MAX * H5FD_SPLITTER_MAGIC * H5FD_splitter_vfd_config_t * H5Pset_fapl_splitter() * H5Pget_fapl_splitter()
* Avoid attempted use of NULL pointer in parallel compression code (#3786)jhendersonHDF2023-10-281-0/+4
| | | The parallel compression test code tests for the case where all MPI ranks have no selection in a dataset when writing to it. Add an early exit to the code to avoid attempting to use a NULL pointer due to there being no work to do.
* Fixed a file handle leak in the core VFD (#3779)Dana Robinson2023-10-261-1/+3
| | | | | | When opening a file with the core VFD and a file image, if the file already exists, the file check would leak the POSIX file handle. Fixes GitHub issue #635
* Fix typo in comment (#3775)tbeu2023-10-261-1/+1
|
* Preserve MPI-I/O file hints when fapl is closed (#3755)vchoi-hdfgroup2023-10-252-5/+19
| | | * Fix for issue #3025: Save the MPI info in the file struct so H5Fget_access_plist() can retrieve it from there.
* Fix H5Pset_evict_on_close failing regardless of actual parallel use (#3761)Glenn Song2023-10-242-8/+17
| | | | | Allow H5Pset_evict_on_close to be called regardless of whether a parallel build of HDF5 is being used Fail during file opens if H5Pset_evict_on_close has been set to true on the given File Access Property List and the size of the MPI communicator being used is greater than 1
* Fix some issues with collective metadata reads for chunked datasets (#3716)jhendersonHDF2023-10-249-624/+1252
| | | | | | | | | | Add functions/callbacks for explicit control over chunk index open/close Add functions/callbacks to check if chunk index is open or not so that it can be opened if necessary before temporarily disabling collective metadata reads in the library Add functions/callbacks for requesting loading of additional chunk index metadata beyond the chunk index itself
* Fix hangs during collective I/O with independent metadata writes (#3693)jhendersonHDF2023-10-242-5/+35
|
* Bump the ros3 VFD cache to 16 MiB (#3759)Dana Robinson2023-10-241-1/+1
|
* Add a simple cache to the ros3 VFD (#3753)Dana Robinson2023-10-231-22/+51
| | | | | | | | | Adds a small cache of the first N bytes of a file opened with the read-only S3 (ros3) VFD, where N is 4kiB or the size of the file, whichever is smaller. This avoids a lot of small I/O operations on file open. Addresses GitHub issue #3381
* Fix buffer overflow in cache debugging code (#3691)jhendersonHDF2023-10-231-20/+84
|
* Add native VOL checks to deprecated functions (#3647)mattjala2023-10-232-58/+145
| | | | | | | * Add native VOL checks to deprecated functions * Remove unneeded native VOL checks * Move native checks to top level calls
* Additional update to the library version matrix for H5Pset_libver_bounds() ↵bmribler2023-10-221-145/+87
| | | | | (#3742) This is the follow-up of PR #3702.
* Update the library version matrix for H5Pset_libver_bounds() (#3702)bmribler2023-10-201-20/+288
| | | | | | | * Fixed #3524 Added 1.12, 1.14, and 1.16 to the table for libver bounds in the H5Pset_libver_bounds docs.
* Add new API function H5Pget_actual_select_io_mode() (#2974)Neil Fortner2023-10-207-46/+362
| | | This function allows the user to determine if the library performed selection I/O, vector I/O, or scalar (legacy) I/O during the last HDF5 operation performed with the provided DXPL. Expanded existing tests to check this functionality.