diff options
author | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-02-12 21:30:20 (GMT) |
---|---|---|
committer | Bill Wendling <wendling@ncsa.uiuc.edu> | 2003-02-12 21:30:20 (GMT) |
commit | 645b7e8c378d3f4abd1b3159198fb5cdb14b34a8 (patch) | |
tree | 01c48c6cf670cbd61eaa8d685f7745639b8b56d1 /src/H5FPprivate.h | |
parent | d2bfd727ca0e9f298598b723d20faef3edf7b582 (diff) | |
download | hdf5-645b7e8c378d3f4abd1b3159198fb5cdb14b34a8.zip hdf5-645b7e8c378d3f4abd1b3159198fb5cdb14b34a8.tar.gz hdf5-645b7e8c378d3f4abd1b3159198fb5cdb14b34a8.tar.bz2 |
[svn-r6401] Purpose:
Update
Description:
Added a "metadata flush" function which allows the clients to force a
dump of the metadata from the SAP. This should be done before closing
the file.
Modified the information stored on an "open" of the file. The
filename is unnecessary, so I got rid of it.
More integration with the File Driver code: Passing in a data xfer
property list.
Platforms tested:
Linux
Diffstat (limited to 'src/H5FPprivate.h')
-rw-r--r-- | src/H5FPprivate.h | 40 |
1 files changed, 26 insertions, 14 deletions
diff --git a/src/H5FPprivate.h b/src/H5FPprivate.h index 65bce85..adac0b0 100644 --- a/src/H5FPprivate.h +++ b/src/H5FPprivate.h @@ -46,6 +46,7 @@ typedef enum { H5FP_REQ_RELEASE_END, /* Last unlock request in unlock sequence */ H5FP_REQ_WRITE, /* Writing a piece of metadata */ H5FP_REQ_READ, /* Reading a piece of metadata */ + H5FP_REQ_FLUSH, /* Flush the metadata out to disk */ H5FP_REQ_CLOSE, /* Close a file (or eventually an object) */ H5FP_REQ_STOP /* Stop SAP */ } H5FP_req_t; @@ -151,12 +152,15 @@ typedef enum sap_status { H5FP_STATUS_CATASTROPHIC } H5FP_status_t; -/* +/*===----------------------------------------------------------------------=== + * H5FP_request + *===----------------------------------------------------------------------=== + * * The structure sent to the SAP which holds all of the requested action */ typedef struct { - H5FP_req_t req_type; /* Request type */ unsigned req_id; /* ID for request set by sending process */ + H5FP_req_t req_type; /* Request type */ unsigned proc_rank; /* Rank of sending process */ unsigned file_id; /* SAP's file ID for the specific file */ H5FP_obj_t obj_type; /* Type of the object */ @@ -169,7 +173,10 @@ typedef struct { extern MPI_Datatype H5FP_request_t; /* MPI datatype for the H5FP_request obj*/ -/* +/*===----------------------------------------------------------------------=== + * H5FP_reply + *===----------------------------------------------------------------------=== + * * Reply from the SAP on an H5FP_request send */ typedef struct { @@ -181,7 +188,10 @@ typedef struct { extern MPI_Datatype H5FP_reply_t; /* MPI datatype for the H5FP_reply obj */ -/* +/*===----------------------------------------------------------------------=== + * H5FP_read + *===----------------------------------------------------------------------=== + * * The reply message from the SAP on an H5FP_request H5FP_REQ_READ send */ typedef struct { @@ -213,27 +223,29 @@ extern "C" { extern herr_t H5FP_sap_receive_loop(void); /* Use these functions to communicate with the SAP */ -extern herr_t H5FP_request_open(const char *mdata, int md_len, H5FP_obj_t obj_type, - MPI_Offset maxaddr, unsigned *file_id, unsigned *req_id); +extern herr_t H5FP_request_open(H5FP_obj_t obj_type, MPI_Offset maxaddr, + unsigned *file_id, unsigned *req_id); extern herr_t H5FP_request_lock(unsigned sap_file_id, unsigned char *mdata, H5FP_lock_t rw_lock, int last, unsigned *req_id, H5FP_status_t *status); extern herr_t H5FP_request_release_lock(unsigned sap_file_id, unsigned char *mdata, int last, unsigned *req_id, H5FP_status_t *status); -extern herr_t H5FP_request_read_metadata(H5FD_t *file, unsigned sap_file_id, +extern herr_t H5FP_request_read_metadata(H5FD_t *file, unsigned sap_file_id, hid_t dxpl_id, H5FD_mem_t mem_type, MPI_Offset addr, size_t size, uint8_t **buf, int *bytes_read, unsigned *req_id, H5FP_status_t *status); -extern herr_t H5FP_request_write_metadata(H5FD_t *file, unsigned file_id, - H5FD_mem_t mem_type, unsigned char *obj_oid, - MPI_Offset addr, int mdata_size, - const char *mdata, unsigned *req_id, +extern herr_t H5FP_request_write_metadata(H5FD_t *file, unsigned file_id, hid_t dxpl_id, + H5FD_mem_t mem_type, MPI_Offset addr, + int mdata_size, const char *mdata, + unsigned *req_id, H5FP_status_t *status); +extern herr_t H5FP_request_flush_metadata(H5FD_t *file, unsigned file_id, + hid_t dxpl_id, unsigned *req_id, H5FP_status_t *status); -extern herr_t H5FP_request_close(H5FD_t *file, unsigned sap_file_id, unsigned *req_id, - H5FP_status_t *status); +extern herr_t H5FP_request_close(H5FD_t *file, unsigned sap_file_id, + unsigned *req_id, H5FP_status_t *status); -/* NOTE: Don't use these functions outside of the H5FD* modules! */ +/* NOTE: Don't use these functions outside of the H5FP* modules! */ extern herr_t H5FP_send_metadata(const char *mdata, int len, int to); extern herr_t H5FP_read_metadata(char **mdata, int len, int from); |