diff options
author | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2018-09-28 16:29:02 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@jam.ad.hdfgroup.org> | 2018-09-28 16:29:02 (GMT) |
commit | 5c7ca8afff0e635f12652c35dbe9818235ac34c4 (patch) | |
tree | 1245d78ca4b0aaeb40ecab6b2615ddad886042c3 /src/H5Fprivate.h | |
parent | 06fa8a94558939400dc43e99c08a784e26dfa01d (diff) | |
download | hdf5-5c7ca8afff0e635f12652c35dbe9818235ac34c4.zip hdf5-5c7ca8afff0e635f12652c35dbe9818235ac34c4.tar.gz hdf5-5c7ca8afff0e635f12652c35dbe9818235ac34c4.tar.bz2 |
Third batch of checkin:
1) Free space manager for the metadata file
2) Delayed free space release linked list
3) H5F_update_vfd_swmr_metadata_file()
3) VFD SWMR driver: read callback
4) Flushing for VFD SWMR
5) Port one concurrent test from swmr test set
6) Bug fixes and refactoring
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 356a606..dc407c8 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -331,7 +331,8 @@ typedef struct H5F_t H5F_t; #define H5F_POINT_OF_NO_RETURN(F) ((F)->shared->fs.point_of_no_return) #define H5F_FIRST_ALLOC_DEALLOC(F) ((F)->shared->first_alloc_dealloc) #define H5F_EOA_PRE_FSM_FSALLOC(F) ((F)->shared->eoa_pre_fsm_fsalloc) -#define H5F_USE_VFD_SWMR(F) ((F)->shared->vfd_swmr) +#define H5F_USE_VFD_SWMR(F) ((F)->shared->vfd_swmr) +#define H5F_VFD_SWMR_MD_EOA(F) ((F)->shared->vfd_swmr_md_eoa) #else /* H5F_MODULE */ #define H5F_LOW_BOUND(F) (H5F_get_low_bound(F)) #define H5F_HIGH_BOUND(F) (H5F_get_high_bound(F)) @@ -390,6 +391,7 @@ typedef struct H5F_t H5F_t; #define H5F_FIRST_ALLOC_DEALLOC(F) (H5F_get_first_alloc_dealloc(F)) #define H5F_EOA_PRE_FSM_FSALLOC(F) (H5F_get_eoa_pre_fsm_fsalloc(F)) #define H5F_USE_VFD_SWMR(F) (H5F_use_vfd_swmr(F)) +#define H5F_VFD_SWMR_MD_EOA(F) (H5F_get_vfd_swmr_md_eoa(F)) #endif /* H5F_MODULE */ @@ -511,7 +513,7 @@ typedef struct H5F_t H5F_t; #define H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_NAME "page_buffer_min_raw_perc" /* the min raw data percentage for the page buffer cache */ /* Default configuration for VFD SWMR: not configured */ -#define H5F_ACS_VFD_SWMR_CONFIG_NAME "vfd_swmr_config" /* VFD SWMR configuration */ +#define H5F_ACS_VFD_SWMR_CONFIG_NAME "vfd_swmr_config" #define H5F__DEFAULT_VFD_SWMR_CONFIG \ { \ /* int32_t version = */ 0, \ @@ -665,13 +667,15 @@ struct H5HG_heap_t; struct H5VL_class_t; struct H5P_genplist_t; +/* VFD SWMR */ +/* Forward declaration */ +struct H5FD_vfd_swmr_idx_entry_t; + /* Forward declarations for anonymous H5F objects */ /* Main file structures */ typedef struct H5F_file_t H5F_file_t; -extern H5F_file_t *vfd_swmr_file_g; - /* Block aggregation structure */ typedef struct H5F_blk_aggr_t H5F_blk_aggr_t; @@ -761,7 +765,6 @@ H5_DLL hsize_t H5F_get_pgend_meta_thres(const H5F_t *f); H5_DLL hbool_t H5F_get_point_of_no_return(const H5F_t *f); H5_DLL hbool_t H5F_get_first_alloc_dealloc(const H5F_t *f); H5_DLL haddr_t H5F_get_eoa_pre_fsm_fsalloc(const H5F_t *f); -H5_DLL hbool_t H5F_use_vfd_swmr(const H5F_t *f); /* Functions than retrieve values set/cached from the superblock/FCPL */ H5_DLL haddr_t H5F_get_base_addr(const H5F_t *f); @@ -875,5 +878,12 @@ H5_DLL herr_t H5F_cwfs_remove_heap(H5F_file_t *shared, struct H5HG_heap_t *heap) /* Debugging functions */ H5_DLL herr_t H5F_debug(H5F_t *f, FILE * stream, int indent, int fwidth); +/* VFD SWMR */ +H5_DLL herr_t H5F_vfd_swmr_writer_end_of_tick(void); +H5_DLL herr_t H5F_vfd_swmr_reader_end_of_tick(void); +H5_DLL herr_t H5F_update_vfd_swmr_metadata_file(H5F_t *f, uint32_t index_len, struct H5FD_vfd_swmr_idx_entry_t *index); +H5_DLL hbool_t H5F_use_vfd_swmr(const H5F_t *f); +H5_DLL haddr_t H5F_get_vfd_swmr_md_eoa(const H5F_t *f); + #endif /* _H5Fprivate_H */ |