summaryrefslogtreecommitdiffstats
path: root/src/H5F.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'aug-develop' into aug-merge-attempt/feature/vfd_swmrDavid Young2020-08-041-99/+66
|\
| * Minor normalization with 1.10 branchDana Robinson2020-07-271-79/+55
| |
| * Minor normalizations with HDF5 1.10.Dana Robinson2020-06-071-36/+27
| |
| * Reduce differences between my -Werror branch and `develop`:David Young2020-01-291-5/+5
| | | | | | | | | | | | | | | | 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.
| * Fix some places where H5P_DEFAULT gets passed down to a VOL connectorJordan Henderson2020-01-031-7/+0
| |
| * Refactor all the 'H5VL_*_optional' callbacks to move the type of operation outQuincey Koziol2019-12-201-43/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the va_list, so it's at least possible for another connector to know what the operation is and decide whether to implement it or not. Added a new VOL sub-class called "introspect" where callbacks that report information about the connector or container can be placed. Added an 'opt_query' callback to this sub-class, for a connector to report back to the library whether a particular optional callback operation is supported. Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or the terminal connector, H5VL_GET_CONN_LVL_TERM). Moved the "post open" operation from a file 'specific' operation to a file 'optional' operation, now that it's possible to detect (with the 'opt_query' introspection callback) whether a VOL connector implements an optional operation, without just returning an error. Added new internal VOL helper routines: H5VL_object_is_native, to determine if an object is in (or is a) native file, and H5VL_file_is_same, to determine if two objects are in (or are) the same terminal VOL connector's container. (And moved the special handling for FILE_IS_EQUAL operation out of internal VOL callback routine into H5VL_file_is_same) Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better with other 'get' operations in API. Fixed several issues with pass-through connectors, which are now passing the 'make check-passthrough-vol' tests again. A bunch of warning and style cleanups as well.
| * Modify H5VL initialization routines to initialize all VOL-managed objectNeil Fortner2019-12-121-0/+24
| | | | | | | | | | types. Modify H5VLwrap_register() to reject non-VOL-managed object types. Also fix overisights in h5trace.c from previous changes.
| * Minor tweaks noticed while going over VOL documentation.Dana Robinson2019-12-061-1/+1
| |
| * Fix issue where H5R__reopen_file did not make the file "post open"Neil Fortner2019-11-121-1/+1
| | | | | | | | callback.
| * Implement H5VLget_file_type() to return a copy of a datatype with theNeil Fortner2019-11-081-0/+26
| | | | | | | | | | | | | | | | | | | | | | location set to be in a file. Only meant to be used by VOL connectors. Implement H5VLpeek_connector_id() to support connectors querying their own IDs. Fix app_ref with connector IDs in a couple places (external VOLs registered as default through ENV should be visible to the application). Modify vlen and reference interfaces to work with arbitrary VOL connectors. Implement file "post open" specific callback, to enable connectors to update their file structs after a wrap context has been set.
| * Fixed an error string typoDana Robinson2019-06-111-1/+1
| |
| * Added H5Fdelete call and VOL support (but no VFD/native implementation).Dana Robinson2019-06-111-5/+68
| |
| * Add trace macro.Quincey Koziol2019-04-121-0/+1
| |
| * Add H5Fget_fileno() API routine.Quincey Koziol2019-04-121-0/+35
| |
| * Corrected comment in src/H5VLint.c, fixed pass-through info size inQuincey Koziol2019-01-061-3/+15
| | | | | | | | | | | | | | 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).
| * Merge branch 'develop' into dset_ohdr_minimizeJacob Smith2018-12-281-3/+3
| |\
| | * Squash merge of MDC logging changes.Dana Robinson2018-12-211-3/+3
| | |
| * | Merge branch 'develop' into dset_ohdr_minimizeJacob Smith2018-12-271-1/+2
| |\ \ | | |/
| | * Moved private native VOL connector functions to H5VLnative_private.h.Dana Robinson2018-12-201-1/+2
| | |
| * | Merge branch 'develop' of ↵Jacob Smith2018-12-191-4/+5
| |\ \ | | |/ | | | | | | https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize
| | * Moved the optional enums to H5VLnative.h and converted to an intDana Robinson2018-12-181-0/+1
| | | | | | | | | | | | typedef and a set of #defines.
| | * Updated enums in VOL va_lists to be passed as ints.Dana Robinson2018-12-181-4/+4
| | |
| * | Formatting adjustments.Jacob Smith2018-12-181-5/+0
| | |
| * | Move H5Fset_dset_no_attrs_hint VOL operations to native.Jacob Smith2018-12-181-1/+1
| | | | | | | | | | | | | | | Move minimzied object header tests from separate file to test/ohdr.c Some formatting changes.
| * | Merge branch 'develop' into dset_ohdr_minimizeJacob Smith2018-12-181-32/+37
| |\ \ | | |/
| | * Moved the native VOL connector's optional enums to theDana Robinson2018-12-151-24/+24
| | | | | | | | | | | | | | | public headers and renamed to include native/NATIVE in the name.
| * | Reformat to be more consistent with existing code.Jacob Smith2018-12-131-26/+7
| | | | | | | | | | | | Fix a few typos.
| * | Merge branch 'develop' into dset_ohdr_minimizeJacob Smith2018-12-121-662/+780
| |\ \ | | |/
| | * Add VOL connector info to the flie access property list returned fromQuincey Koziol2018-11-181-58/+64
| | | | | | | | | | | | H5Fget_access_plist(). Also, other misc. cleanups, etc.
| | * Switch driver | plugin => connector.Quincey Koziol2018-11-041-15/+15
| | |
| | * Refactor and standarize file object callbacks, including some fixes on theQuincey Koziol2018-10-311-40/+34
| | | | | | | | | | | | dataset callbacks.
| | * Move all callback-related routines into the callback source file, standardizingQuincey Koziol2018-10-281-66/+38
| | | | | | | | | | | | their coding style
| | * Move (final?) file operation from directly calling into library code to usingQuincey Koziol2018-10-271-7/+5
| | | | | | | | | | | | the file_optional VOL callback.
| | * Remove some VOL-specific internal coding.Quincey Koziol2018-10-271-20/+2
| | |
| | * Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into ↵Quincey Koziol2018-10-251-9/+9
| | |\ | | | | | | | | | | | | stackable_vol
| | | * Updates to the VOL ID and object API calls.Dana Robinson2018-10-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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()
| | * | Squashed commit of private branch changes to support stackable VOL plugins.Quincey Koziol2018-10-251-98/+78
| | |/ | | | | | | | | | modified: test/dsets.c
| | * Fixed a C++ style commenting issue and removed an unused fieldDana Robinson2018-10-121-2/+0
| | | | | | | | | | | | from H5F_trav_obj_ids_t.
| | * VOL FEATUREDana Robinson2018-10-101-366/+267
| | |
| * | Stash work on object header reduction code and tests.Jacob Smith2018-09-111-0/+94
| | | | | | | | | | | | CMake stuff is not verified.
* | | (1) Add public routines H5Fvfd_swmr_end_tick, ↵vchoi2020-06-261-12/+85
| | | | | | | | | | | | | | | | | | H5Fvfd_swmr_disable_end_of_tick, H5Fvfd_swmr_enable_end_of_tick(). (2) Tests for the above APIs.
* | | Reduce differences between my -Werror branch and `develop`:David Young2020-05-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Fix some places where H5P_DEFAULT gets passed down to a VOL connectorJordan Henderson2020-05-201-7/+0
| | |
* | | Refactor all the 'H5VL_*_optional' callbacks to move the type of operation outQuincey Koziol2020-05-201-43/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the va_list, so it's at least possible for another connector to know what the operation is and decide whether to implement it or not. Added a new VOL sub-class called "introspect" where callbacks that report information about the connector or container can be placed. Added an 'opt_query' callback to this sub-class, for a connector to report back to the library whether a particular optional callback operation is supported. Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or the terminal connector, H5VL_GET_CONN_LVL_TERM). Moved the "post open" operation from a file 'specific' operation to a file 'optional' operation, now that it's possible to detect (with the 'opt_query' introspection callback) whether a VOL connector implements an optional operation, without just returning an error. Added new internal VOL helper routines: H5VL_object_is_native, to determine if an object is in (or is a) native file, and H5VL_file_is_same, to determine if two objects are in (or are) the same terminal VOL connector's container. (And moved the special handling for FILE_IS_EQUAL operation out of internal VOL callback routine into H5VL_file_is_same) Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better with other 'get' operations in API. Fixed several issues with pass-through connectors, which are now passing the 'make check-passthrough-vol' tests again. A bunch of warning and style cleanups as well.
* | | Modify H5VL initialization routines to initialize all VOL-managed objectNeil Fortner2020-05-201-0/+24
| | | | | | | | | | | | | | | types. Modify H5VLwrap_register() to reject non-VOL-managed object types. Also fix overisights in h5trace.c from previous changes.
* | | Minor tweaks noticed while going over VOL documentation.Dana Robinson2020-05-201-1/+1
| | |
* | | Fix issue where H5R__reopen_file did not make the file "post open"Neil Fortner2020-05-201-1/+1
| | | | | | | | | | | | callback.
* | | Implement H5VLget_file_type() to return a copy of a datatype with theNeil Fortner2020-05-201-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | location set to be in a file. Only meant to be used by VOL connectors. Implement H5VLpeek_connector_id() to support connectors querying their own IDs. Fix app_ref with connector IDs in a couple places (external VOLs registered as default through ENV should be visible to the application). Modify vlen and reference interfaces to work with arbitrary VOL connectors. Implement file "post open" specific callback, to enable connectors to update their file structs after a wrap context has been set.
* | | Add a second bool argument to H5F_vfd_swmr_writer_end_of_tick() thatDavid Young2020-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tells whether the call may wait for the reader tick to catch up. Add stub routines vfd_swmr_writer_may_increase_tick_to() and vfd_swmr_reader_did_increase_tick_to() for tests---e.g., vfd_swmr_zoo_writer/_reader---to use to coordinate their tick numbers. vfd_swmr_writer_may_increase_tick_to(new_tick, wait_for_reader) returns true if the writer may increase its tick number to `new_tick` without overrunning the reader. A reader uses vfd_swmr_reader_did_increase_tick_to() to tell a writer that its tick number has increased.
* | | Merge all of my changes from merge-back-to-feature-vfd_swmr-attempt-1,David Young2019-12-091-457/+487
| | | | | | | | | | | | | | | | | | | | | | | | 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!