Fix for punch list #9 Move VFD SWMR H5F code to its own file: H5Fvfd_swmr.c.

This commit is contained in:
vchoi
2019-11-15 14:17:02 -06:00
parent 350a786486
commit e847ec43ac
5 changed files with 1869 additions and 1770 deletions

View File

@@ -13,12 +13,28 @@
#define _H5FDvfd_swmr_private_H
/* Temporary globals for VFD SWMR */
extern struct H5F_t *vfd_swmr_file_g;
extern hbool_t vfd_swmr_g;
extern unsigned int vfd_swmr_api_entries_g;
extern hbool_t vfd_swmr_writer_g;
extern uint64_t tick_num_g;
extern struct timespec end_of_tick_g;
/* Forward declaration */
struct H5F_t;
struct H5FD_vfd_swmr_idx_entry_t;
/***************************************/
/* Library-private Function Prototypes */
/***************************************/
H5_DLL herr_t H5F_vfd_swmr_init(struct H5F_t *f, hbool_t file_create);
H5_DLL herr_t H5F_vfd_swmr_close_or_flush(struct H5F_t *f, hbool_t closing);
H5_DLL herr_t H5F_update_vfd_swmr_metadata_file(struct H5F_t *f, uint32_t index_len,
struct H5FD_vfd_swmr_idx_entry_t *index);
H5_DLL herr_t H5F_vfd_swmr_writer__delay_write(struct H5F_t *f, uint64_t page,
uint64_t *delay_write_until_ptr);
H5_DLL herr_t H5F_vfd_swmr_writer__prep_for_flush_or_close(struct H5F_t *f);
H5_DLL herr_t H5F_vfd_swmr_writer_end_of_tick(void);
H5_DLL herr_t H5F_vfd_swmr_reader_end_of_tick(void);

File diff suppressed because it is too large Load Diff

View File

@@ -668,10 +668,6 @@ 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 */
@@ -879,10 +875,6 @@ 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__delay_write(H5F_t *f, uint64_t page,
uint64_t * delay_write_until_ptr);
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);

1849
src/H5Fvfd_swmr.c Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -56,7 +56,7 @@ libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
H5E.c H5Edeprec.c H5Eint.c \
H5EA.c H5EAcache.c H5EAdbg.c H5EAdblkpage.c H5EAdblock.c H5EAhdr.c \
H5EAiblock.c H5EAint.c H5EAsblock.c H5EAstat.c H5EAtest.c \
H5F.c H5Faccum.c H5Fcwfs.c \
H5F.c H5Faccum.c H5Fcwfs.c H5Fvfd_swmr.c \
H5Fdbg.c H5Fdeprec.c H5Fefc.c H5Ffake.c H5Fint.c H5Fio.c \
H5Fmount.c H5Fquery.c \
H5Fsfile.c H5Fspace.c H5Fsuper.c H5Fsuper_cache.c H5Ftest.c \