summaryrefslogtreecommitdiffstats
path: root/src/H5VLnative_dataset.c
Commit message (Collapse)AuthorAgeFilesLines
* Refactor H5Dvlen_get_buf_size to use optional dataset operation, with ↵Quincey Koziol2019-12-211-12/+14
| | | | generic fallback for VOL connectors that don't implement operation
* Refactor all the 'H5VL_*_optional' callbacks to move the type of operation outQuincey Koziol2019-12-201-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Minor tweaks noticed while going over VOL documentation.Dana Robinson2019-12-061-1/+1
|
* Changed H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COOR toBinh-Minh Ribler2019-09-031-1/+1
| | | | H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD per a review comment.
* Updated based on reviews and refactored test codeBinh-Minh Ribler2019-09-011-5/+2
|
* HDFFV-10677 and HDFFV-10661Binh-Minh Ribler2019-08-281-8/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: - Added functions to query chunk information: H5Dget_num_chunks(dset_id, fspace_id, *nchunks) Gets the number of written chunks that intersect with the given dataspace. However, in this version, the intersection is not yet completed. Thus, the number of all written chunks will be returned. H5Dget_chunk_info_by_coord(dset_id, *offset, *filter_mask, *addr, *size) Given a chunk's logical coordinates, returns the chunk's filter, address, and size. H5Dget_chunk_info(dset_id, fspace_id, index, *offset, *filter_mask, *addr, *size) Given a chunk's index, returns the chunk's logical coordinates, filter, address, and size. The chunk belongs to a set of chunks that have nonempty intersection with the specified dataspace. However, in this version, the intersection is not yet completed, and the index is of all the written chunks. These functions comply with VOL. - Fixed some oversights found in the library for the tests in chunk_info.c to work correctly. The returned value from a callback function was not checked in H5EA_iterate(), H5FA_iterate(), and H5D__none_idx_iterate(). This oversight caused a callback function to continue iterating even though it's supposed to stop. Platforms tested: Linux/64 (jelly) Linux/64 (platypus) Darwin (osx1011test)
* A few minor cleanupsQuincey Koziol2019-04-251-5/+0
|
* Refactor dataset creation parameters out of the dataset creation propertyQuincey Koziol2019-04-251-12/+2
| | | | list and pass them as regular function parameters.
* Moved private native VOL connector functions to H5VLnative_private.h.Dana Robinson2018-12-201-1/+1
|
* Moved the remainder of the code into separate files.Dana Robinson2018-12-201-0/+562
|
* Split the native VOL connector code into multiple files andDana Robinson2018-12-201-0/+13
moved the attribute code over.