diff options
author | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 16:47:45 (GMT) |
---|---|---|
committer | Allen Byrne <byrn@hdfgroup.org> | 2020-10-01 16:47:45 (GMT) |
commit | 1ba1f2f3222cbe8df0bf601929a4bffd478d7e02 (patch) | |
tree | ae51dfc33cf40432dad25a5088767115a98f195e /src/H5Oshared.c | |
parent | 8eef7d295cc3dd134aef0a826f1de4287629996d (diff) | |
download | hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.zip hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.gz hdf5-1ba1f2f3222cbe8df0bf601929a4bffd478d7e02.tar.bz2 |
Source formatted
Diffstat (limited to 'src/H5Oshared.c')
-rw-r--r-- | src/H5Oshared.c | 275 |
1 files changed, 121 insertions, 154 deletions
diff --git a/src/H5Oshared.c b/src/H5Oshared.c index 2475dd5..4803c91 100644 --- a/src/H5Oshared.c +++ b/src/H5Oshared.c @@ -28,65 +28,57 @@ /* Module Setup */ /****************/ -#define H5O_PACKAGE /*suppress error about including H5Opkg */ - +#define H5O_PACKAGE /*suppress error about including H5Opkg */ /***********/ /* Headers */ /***********/ -#include "H5private.h" /* Generic Functions */ -#include "H5Eprivate.h" /* Error handling */ -#include "H5Fprivate.h" /* File access */ -#include "H5Gprivate.h" /* Groups */ -#include "H5HFprivate.h" /* Fractal heap */ -#include "H5Opkg.h" /* Object headers */ -#include "H5SMprivate.h" /* Shared object header messages */ -#include "H5WBprivate.h" /* Wrapped Buffers */ +#include "H5private.h" /* Generic Functions */ +#include "H5Eprivate.h" /* Error handling */ +#include "H5Fprivate.h" /* File access */ +#include "H5Gprivate.h" /* Groups */ +#include "H5HFprivate.h" /* Fractal heap */ +#include "H5Opkg.h" /* Object headers */ +#include "H5SMprivate.h" /* Shared object header messages */ +#include "H5WBprivate.h" /* Wrapped Buffers */ /****************/ /* Local Macros */ /****************/ /* First version, with full symbol table entry as link for object header sharing */ -#define H5O_SHARED_VERSION_1 1 +#define H5O_SHARED_VERSION_1 1 /* Older version, with just address of object as link for object header sharing */ -#define H5O_SHARED_VERSION_2 2 +#define H5O_SHARED_VERSION_2 2 /* Newest version, which recognizes messages that are stored in the SOHM heap */ -#define H5O_SHARED_VERSION_3 3 -#define H5O_SHARED_VERSION_LATEST H5O_SHARED_VERSION_3 +#define H5O_SHARED_VERSION_3 3 +#define H5O_SHARED_VERSION_LATEST H5O_SHARED_VERSION_3 /* Size of stack buffer for serialized messages */ -#define H5O_MESG_BUF_SIZE 128 - +#define H5O_MESG_BUF_SIZE 128 /******************/ /* Local Typedefs */ /******************/ - /********************/ /* Local Prototypes */ /********************/ - /*********************/ /* Package Variables */ /*********************/ - /*****************************/ /* Library Private Variables */ /*****************************/ - /*******************/ /* Local Variables */ /*******************/ - - /*------------------------------------------------------------------------- * Function: H5O_shared_read * @@ -104,13 +96,13 @@ *------------------------------------------------------------------------- */ static void * -H5O_shared_read(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, - const H5O_shared_t *shared, const H5O_msg_class_t *type) +H5O_shared_read(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, const H5O_shared_t *shared, + const H5O_msg_class_t *type) { H5HF_t *fheap = NULL; - H5WB_t *wb = NULL; /* Wrapped buffer for attribute data */ + H5WB_t *wb = NULL; /* Wrapped buffer for attribute data */ uint8_t mesg_buf[H5O_MESG_BUF_SIZE]; /* Buffer for deserializing messages */ - void *ret_value = NULL; /* Return value */ + void * ret_value = NULL; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -126,77 +118,77 @@ H5O_shared_read(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, HDassert(H5O_IS_STORED_SHARED(shared->type)); /* Check for implicit shared object header message */ - if(shared->type == H5O_SHARE_TYPE_SOHM) { - haddr_t fheap_addr; /* Address of SOHM heap */ - uint8_t *mesg_ptr; /* Pointer to raw message in heap */ - size_t mesg_size; /* Size of message */ + if (shared->type == H5O_SHARE_TYPE_SOHM) { + haddr_t fheap_addr; /* Address of SOHM heap */ + uint8_t *mesg_ptr; /* Pointer to raw message in heap */ + size_t mesg_size; /* Size of message */ /* Retrieve the fractal heap address for shared messages */ - if(H5SM_get_fheap_addr(f, dxpl_id, type->id, &fheap_addr) < 0) + if (H5SM_get_fheap_addr(f, dxpl_id, type->id, &fheap_addr) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, NULL, "can't get fheap address for shared messages") /* Open the fractal heap */ - if(NULL == (fheap = H5HF_open(f, dxpl_id, fheap_addr))) + if (NULL == (fheap = H5HF_open(f, dxpl_id, fheap_addr))) HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, NULL, "unable to open fractal heap") /* Get the size of the message in the heap */ - if(H5HF_get_obj_len(fheap, dxpl_id, &(shared->u.heap_id), &mesg_size) < 0) + if (H5HF_get_obj_len(fheap, dxpl_id, &(shared->u.heap_id), &mesg_size) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, NULL, "can't get message size from fractal heap.") /* Wrap the local buffer for serialized message */ - if(NULL == (wb = H5WB_wrap(mesg_buf, sizeof(mesg_buf)))) + if (NULL == (wb = H5WB_wrap(mesg_buf, sizeof(mesg_buf)))) HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "can't wrap buffer") /* Get a pointer to a buffer that's large enough for message */ - if(NULL == (mesg_ptr = (uint8_t *)H5WB_actual(wb, mesg_size))) + if (NULL == (mesg_ptr = (uint8_t *)H5WB_actual(wb, mesg_size))) HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, "can't get actual buffer") /* Retrieve the message from the heap */ - if(H5HF_read(fheap, dxpl_id, &(shared->u.heap_id), mesg_ptr) < 0) + if (H5HF_read(fheap, dxpl_id, &(shared->u.heap_id), mesg_ptr) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "can't read message from fractal heap.") /* Decode the message */ - if(NULL == (ret_value = (type->decode)(f, dxpl_id, open_oh, 0, ioflags, mesg_size, mesg_ptr))) + if (NULL == (ret_value = (type->decode)(f, dxpl_id, open_oh, 0, ioflags, mesg_size, mesg_ptr))) HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "can't decode shared message.") } /* end if */ else { - H5O_loc_t oloc; /* Location for object header where message is stored */ + H5O_loc_t oloc; /* Location for object header where message is stored */ HDassert(shared->type == H5O_SHARE_TYPE_COMMITTED); /* Build the object location for the shared message's object header */ - oloc.file = f; - oloc.addr = shared->u.loc.oh_addr; + oloc.file = f; + oloc.addr = shared->u.loc.oh_addr; oloc.holding_file = FALSE; - if(open_oh && oloc.addr == H5O_OH_GET_ADDR(open_oh)) { + if (open_oh && oloc.addr == H5O_OH_GET_ADDR(open_oh)) { /* The shared message is in the already opened object header. This * is possible, for example, if an attribute's datatype is shared in * the same object header the attribute is in. Read the message * directly. */ - if(NULL == (ret_value = H5O_msg_read_oh(f, dxpl_id, open_oh, type->id, NULL))) + if (NULL == (ret_value = H5O_msg_read_oh(f, dxpl_id, open_oh, type->id, NULL))) HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read message") - } else + } + else /* The shared message is in another object header */ - if(NULL == (ret_value = H5O_msg_read(&oloc, type->id, NULL, dxpl_id))) - HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read message") + if (NULL == (ret_value = H5O_msg_read(&oloc, type->id, NULL, dxpl_id))) + HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read message") } /* end else */ /* Mark the message as shared */ - if(H5O_msg_set_share(type->id, shared, ret_value) < 0) + if (H5O_msg_set_share(type->id, shared, ret_value) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to set sharing information") done: /* Release resources */ - if(fheap && H5HF_close(fheap, dxpl_id) < 0) + if (fheap && H5HF_close(fheap, dxpl_id) < 0) HDONE_ERROR(H5E_HEAP, H5E_CANTFREE, NULL, "can't close fractal heap") - if(wb && H5WB_unwrap(wb) < 0) + if (wb && H5WB_unwrap(wb) < 0) HDONE_ERROR(H5E_OHDR, H5E_CLOSEERROR, NULL, "can't close wrapped buffer") FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_read() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_link_adj * @@ -219,10 +211,10 @@ done: *------------------------------------------------------------------------- */ static herr_t -H5O_shared_link_adj(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, - const H5O_msg_class_t *type, H5O_shared_t *shared, int adjust) +H5O_shared_link_adj(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, const H5O_msg_class_t *type, + H5O_shared_t *shared, int adjust) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -231,8 +223,8 @@ H5O_shared_link_adj(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, HDassert(shared); /* Check for type of shared message */ - if(shared->type == H5O_SHARE_TYPE_COMMITTED) { - H5O_loc_t oloc; /* Location for object header where message is stored */ + if (shared->type == H5O_SHARE_TYPE_COMMITTED) { + H5O_loc_t oloc; /* Location for object header where message is stored */ /* * The shared message is stored in some object header. @@ -253,46 +245,46 @@ H5O_shared_link_adj(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, HGOTO_ERROR(H5E_LINK, H5E_CANTINIT, FAIL, "interfile hard links are not allowed")*/ /* Build the object location for the shared message's object header */ - oloc.file = f; - oloc.addr = shared->u.loc.oh_addr; + oloc.file = f; + oloc.addr = shared->u.loc.oh_addr; oloc.holding_file = FALSE; - if(open_oh && oloc.addr == H5O_OH_GET_ADDR(open_oh)) { + if (open_oh && oloc.addr == H5O_OH_GET_ADDR(open_oh)) { /* The shared message is in the already opened object header. This * is possible, for example, if an attribute's datatype is shared in * the same object header the attribute is in. Adjust the link * count directly. */ hbool_t deleted = FALSE; /* This is used only to satisfy H5O_link_oh */ - if(H5O_link_oh(f, adjust, dxpl_id, open_oh, &deleted) < 0) + if (H5O_link_oh(f, adjust, dxpl_id, open_oh, &deleted) < 0) HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "unable to adjust shared object link count") HDassert(!deleted); - } else + } + else /* The shared message is in another object header */ - if(H5O_link(&oloc, adjust, dxpl_id) < 0) - HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "unable to adjust shared object link count") + if (H5O_link(&oloc, adjust, dxpl_id) < 0) + HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "unable to adjust shared object link count") } /* end if */ else { HDassert(shared->type == H5O_SHARE_TYPE_SOHM || shared->type == H5O_SHARE_TYPE_HERE); /* Check for decrementing reference count on shared message */ - if(adjust < 0) { - if(H5SM_delete(f, dxpl_id, open_oh, shared) < 0) + if (adjust < 0) { + if (H5SM_delete(f, dxpl_id, open_oh, shared) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTDEC, FAIL, "unable to delete message from SOHM table") } /* end if */ /* Check for incrementing reference count on message */ - else if(adjust > 0) { - if(H5SM_try_share(f, dxpl_id, open_oh, 0, type->id, shared, NULL) < 0) + else if (adjust > 0) { + if (H5SM_try_share(f, dxpl_id, open_oh, 0, type->id, shared, NULL) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTINC, FAIL, "error trying to share message") } /* end if */ - } /* end else */ + } /* end else */ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_link_adj() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_decode * @@ -306,12 +298,12 @@ done: *------------------------------------------------------------------------- */ void * -H5O_shared_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, - const uint8_t *buf, const H5O_msg_class_t *type) +H5O_shared_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, const uint8_t *buf, + const H5O_msg_class_t *type) { - H5O_shared_t sh_mesg; /* Shared message info */ - unsigned version; /* Shared message version */ - void *ret_value; /* Return value */ + H5O_shared_t sh_mesg; /* Shared message info */ + unsigned version; /* Shared message version */ + void * ret_value; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -322,13 +314,13 @@ H5O_shared_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, /* Version */ version = *buf++; - if(version < H5O_SHARED_VERSION_1 || version > H5O_SHARED_VERSION_LATEST) + if (version < H5O_SHARED_VERSION_1 || version > H5O_SHARED_VERSION_LATEST) HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "bad version number for shared object message") /* Get the shared information type * Flags are unused before version 3. */ - if(version >= H5O_SHARED_VERSION_2) + if (version >= H5O_SHARED_VERSION_2) sh_mesg.type = *buf++; else { sh_mesg.type = H5O_SHARE_TYPE_COMMITTED; @@ -336,23 +328,23 @@ H5O_shared_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, } /* end else */ /* Skip reserved bytes (for version 1) */ - if(version == H5O_SHARED_VERSION_1) + if (version == H5O_SHARED_VERSION_1) buf += 6; /* Body */ - if(version == H5O_SHARED_VERSION_1) { + if (version == H5O_SHARED_VERSION_1) { /* Initialize other location fields */ sh_mesg.u.loc.index = 0; /* Decode stored "symbol table entry" into message location */ - buf += H5F_SIZEOF_SIZE(f); /* Skip over local heap address */ + buf += H5F_SIZEOF_SIZE(f); /* Skip over local heap address */ H5F_addr_decode(f, &buf, &(sh_mesg.u.loc.oh_addr)); } /* end if */ else if (version >= H5O_SHARED_VERSION_2) { /* If this message is in the heap, copy a heap ID. * Otherwise, it is a named datatype, so copy an H5O_loc_t. */ - if(sh_mesg.type == H5O_SHARE_TYPE_SOHM) { + if (sh_mesg.type == H5O_SHARE_TYPE_SOHM) { HDassert(version >= H5O_SHARED_VERSION_3); HDmemcpy(&sh_mesg.u.heap_id, buf, sizeof(sh_mesg.u.heap_id)); } /* end if */ @@ -360,27 +352,26 @@ H5O_shared_decode(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, unsigned *ioflags, /* The H5O_COMMITTED_FLAG should be set if this message * is from an older version before the flag existed. */ - if(version < H5O_SHARED_VERSION_3) + if (version < H5O_SHARED_VERSION_3) sh_mesg.type = H5O_SHARE_TYPE_COMMITTED; sh_mesg.u.loc.index = 0; H5F_addr_decode(f, &buf, &sh_mesg.u.loc.oh_addr); } /* end else */ - } /* end else if */ + } /* end else if */ /* Set file pointer & message type for all types of shared messages */ - sh_mesg.file = f; + sh_mesg.file = f; sh_mesg.msg_type_id = type->id; /* Retrieve actual message, through decoded shared message info */ - if(NULL == (ret_value = H5O_shared_read(f, dxpl_id, open_oh, ioflags, &sh_mesg, type))) + if (NULL == (ret_value = H5O_shared_read(f, dxpl_id, open_oh, ioflags, &sh_mesg, type))) HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to retrieve native message") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_decode() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_encode * @@ -394,9 +385,9 @@ done: *------------------------------------------------------------------------- */ herr_t -H5O_shared_encode(const H5F_t *f, uint8_t *buf/*out*/, const H5O_shared_t *sh_mesg) +H5O_shared_encode(const H5F_t *f, uint8_t *buf /*out*/, const H5O_shared_t *sh_mesg) { - unsigned version; + unsigned version; FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -408,12 +399,12 @@ H5O_shared_encode(const H5F_t *f, uint8_t *buf/*out*/, const H5O_shared_t *sh_me /* If this message is shared in the heap, we need to use version 3 of the * encoding and encode the SHARED_IN_HEAP flag. */ - if(sh_mesg->type == H5O_SHARE_TYPE_SOHM) + if (sh_mesg->type == H5O_SHARE_TYPE_SOHM) version = H5O_SHARED_VERSION_LATEST; else { HDassert(sh_mesg->type == H5O_SHARE_TYPE_COMMITTED); version = H5O_SHARED_VERSION_2; /* version 1 is no longer used */ - } /* end else */ + } /* end else */ *buf++ = (uint8_t)version; *buf++ = (uint8_t)sh_mesg->type; @@ -421,7 +412,7 @@ H5O_shared_encode(const H5F_t *f, uint8_t *buf/*out*/, const H5O_shared_t *sh_me /* Encode either the heap ID of the message or the address of the * object header that holds it. */ - if(sh_mesg->type == H5O_SHARE_TYPE_SOHM) + if (sh_mesg->type == H5O_SHARE_TYPE_SOHM) HDmemcpy(buf, &(sh_mesg->u.heap_id), sizeof(sh_mesg->u.heap_id)); else H5F_addr_encode(f, &buf, sh_mesg->u.loc.oh_addr); @@ -429,7 +420,6 @@ H5O_shared_encode(const H5F_t *f, uint8_t *buf/*out*/, const H5O_shared_t *sh_me FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5O_shared_encode() */ - /*------------------------------------------------------------------------- * Function: H5O_set_shared * @@ -458,7 +448,6 @@ H5O_set_shared(H5O_shared_t *dst, const H5O_shared_t *src) FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5O_set_shared() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_size * @@ -475,26 +464,25 @@ H5O_set_shared(H5O_shared_t *dst, const H5O_shared_t *src) size_t H5O_shared_size(const H5F_t *f, const H5O_shared_t *sh_mesg) { - size_t ret_value; /* Return value */ + size_t ret_value; /* Return value */ FUNC_ENTER_NOAPI_NOINIT_NOERR - if(sh_mesg->type == H5O_SHARE_TYPE_COMMITTED) { - ret_value = (size_t)1 + /*version */ - (size_t)1 + /*the type field */ - (size_t)H5F_SIZEOF_ADDR(f); /*sharing by another obj hdr */ - } /* end if */ + if (sh_mesg->type == H5O_SHARE_TYPE_COMMITTED) { + ret_value = (size_t)1 + /*version */ + (size_t)1 + /*the type field */ + (size_t)H5F_SIZEOF_ADDR(f); /*sharing by another obj hdr */ + } /* end if */ else { HDassert(sh_mesg->type == H5O_SHARE_TYPE_SOHM); - ret_value = 1 + /*version */ - 1 + /*the type field */ - H5O_FHEAP_ID_LEN; /* Shared in the heap */ - } /* end else */ + ret_value = 1 + /*version */ + 1 + /*the type field */ + H5O_FHEAP_ID_LEN; /* Shared in the heap */ + } /* end else */ FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_size() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_delete * @@ -508,10 +496,9 @@ H5O_shared_size(const H5F_t *f, const H5O_shared_t *sh_mesg) *------------------------------------------------------------------------- */ herr_t -H5O_shared_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, - const H5O_msg_class_t *type, H5O_shared_t *sh_mesg) +H5O_shared_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, const H5O_msg_class_t *type, H5O_shared_t *sh_mesg) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -529,14 +516,13 @@ H5O_shared_delete(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, */ /* Decrement the reference count on the shared object */ - if(H5O_shared_link_adj(f, dxpl_id, open_oh, type, sh_mesg, -1) < 0) + if (H5O_shared_link_adj(f, dxpl_id, open_oh, type, sh_mesg, -1) < 0) HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "unable to adjust shared object link count") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_delete() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_link * @@ -551,10 +537,9 @@ done: *------------------------------------------------------------------------- */ herr_t -H5O_shared_link(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, - const H5O_msg_class_t *type, H5O_shared_t *sh_mesg) +H5O_shared_link(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, const H5O_msg_class_t *type, H5O_shared_t *sh_mesg) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -563,14 +548,13 @@ H5O_shared_link(H5F_t *f, hid_t dxpl_id, H5O_t *open_oh, HDassert(sh_mesg); /* Increment the reference count on the shared object */ - if(H5O_shared_link_adj(f, dxpl_id, open_oh, type, sh_mesg, 1) < 0) + if (H5O_shared_link_adj(f, dxpl_id, open_oh, type, sh_mesg, 1) < 0) HGOTO_ERROR(H5E_OHDR, H5E_LINKCOUNT, FAIL, "unable to adjust shared object link count") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_link() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_copy_file * @@ -585,14 +569,15 @@ done: *------------------------------------------------------------------------- */ herr_t -H5O_shared_copy_file(H5F_t *file_src, H5F_t *file_dst, - const H5O_msg_class_t *mesg_type, const void *_native_src, void *_native_dst, - hbool_t H5_ATTR_UNUSED *recompute_size, unsigned *mesg_flags, H5O_copy_t *cpy_info, - void H5_ATTR_UNUSED *udata, hid_t dxpl_id) +H5O_shared_copy_file(H5F_t *file_src, H5F_t *file_dst, const H5O_msg_class_t *mesg_type, + const void *_native_src, void *_native_dst, hbool_t H5_ATTR_UNUSED *recompute_size, + unsigned *mesg_flags, H5O_copy_t *cpy_info, void H5_ATTR_UNUSED *udata, hid_t dxpl_id) { - const H5O_shared_t *shared_src = (const H5O_shared_t *)_native_src; /* Alias to shared info in native source */ - H5O_shared_t *shared_dst = (H5O_shared_t *)_native_dst; /* Alias to shared info in native destination message */ - herr_t ret_value = SUCCEED; /* Return value */ + const H5O_shared_t *shared_src = + (const H5O_shared_t *)_native_src; /* Alias to shared info in native source */ + H5O_shared_t *shared_dst = + (H5O_shared_t *)_native_dst; /* Alias to shared info in native destination message */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -614,9 +599,9 @@ H5O_shared_copy_file(H5F_t *file_src, H5F_t *file_dst, * be updated (to allow calculation of the final size) but the message is * not actually shared. */ - if(shared_src->type != H5O_SHARE_TYPE_COMMITTED) { + if (shared_src->type != H5O_SHARE_TYPE_COMMITTED) { /* Simulate trying to share new message in the destination file. */ - if(H5SM_try_share(file_dst, dxpl_id, NULL, H5SM_DEFER, mesg_type->id, _native_dst, mesg_flags) < 0) + if (H5SM_try_share(file_dst, dxpl_id, NULL, H5SM_DEFER, mesg_type->id, _native_dst, mesg_flags) < 0) HGOTO_ERROR(H5E_OHDR, H5E_WRITEERROR, FAIL, "unable to determine if message should be shared") } /* end if */ else { @@ -630,7 +615,6 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* H5O_shared_copy_file() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_post_copy_file * @@ -650,11 +634,10 @@ done: *------------------------------------------------------------------------- */ herr_t -H5O_shared_post_copy_file(H5F_t *f, const H5O_msg_class_t *mesg_type, - const H5O_shared_t *shared_src, H5O_shared_t *shared_dst, - unsigned *mesg_flags, hid_t dxpl_id, H5O_copy_t *cpy_info) +H5O_shared_post_copy_file(H5F_t *f, const H5O_msg_class_t *mesg_type, const H5O_shared_t *shared_src, + H5O_shared_t *shared_dst, unsigned *mesg_flags, hid_t dxpl_id, H5O_copy_t *cpy_info) { - herr_t ret_value = SUCCEED; /* Return value */ + herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_NOAPI_NOINIT @@ -664,7 +647,7 @@ H5O_shared_post_copy_file(H5F_t *f, const H5O_msg_class_t *mesg_type, HDassert(shared_dst); /* Copy the target of committed messages, try to share others */ - if(shared_src->type == H5O_SHARE_TYPE_COMMITTED) { + if (shared_src->type == H5O_SHARE_TYPE_COMMITTED) { H5O_loc_t dst_oloc; H5O_loc_t src_oloc; @@ -673,8 +656,7 @@ H5O_shared_post_copy_file(H5F_t *f, const H5O_msg_class_t *mesg_type, dst_oloc.file = f; src_oloc.file = shared_src->file; src_oloc.addr = shared_src->u.loc.oh_addr; - if(H5O_copy_header_map(&src_oloc, &dst_oloc, dxpl_id, cpy_info, FALSE, - NULL, NULL) < 0) + if (H5O_copy_header_map(&src_oloc, &dst_oloc, dxpl_id, cpy_info, FALSE, NULL, NULL) < 0) HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, FAIL, "unable to copy object") /* Set up destination message's shared info */ @@ -682,15 +664,13 @@ H5O_shared_post_copy_file(H5F_t *f, const H5O_msg_class_t *mesg_type, } /* end if */ else /* Share the message */ - if(H5SM_try_share(f, dxpl_id, NULL, H5SM_WAS_DEFERRED, mesg_type->id, - shared_dst, mesg_flags) < 0) - HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "can't share message") + if (H5SM_try_share(f, dxpl_id, NULL, H5SM_WAS_DEFERRED, mesg_type->id, shared_dst, mesg_flags) < 0) + HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "can't share message") done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5O_shared_post_copy_file() */ - /*------------------------------------------------------------------------- * Function: H5O_shared_debug * @@ -714,43 +694,30 @@ H5O_shared_debug(const H5O_shared_t *mesg, FILE *stream, int indent, int fwidth) HDassert(indent >= 0); HDassert(fwidth >= 0); - switch(mesg->type) { + switch (mesg->type) { case H5O_SHARE_TYPE_UNSHARED: - HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, - "Shared Message type:", - "Unshared"); + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Shared Message type:", "Unshared"); break; case H5O_SHARE_TYPE_COMMITTED: - HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, - "Shared Message type:", - "Obj Hdr"); - HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, - "Object address:", - mesg->u.loc.oh_addr); + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Shared Message type:", "Obj Hdr"); + HDfprintf(stream, "%*s%-*s %a\n", indent, "", fwidth, "Object address:", mesg->u.loc.oh_addr); break; case H5O_SHARE_TYPE_SOHM: - HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, - "Shared Message type:", - "SOHM"); + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Shared Message type:", "SOHM"); HDfprintf(stream, "%*s%-*s %016llx\n", indent, "", fwidth, - "Heap ID:", - (unsigned long long)mesg->u.heap_id.val); + "Heap ID:", (unsigned long long)mesg->u.heap_id.val); break; case H5O_SHARE_TYPE_HERE: - HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, - "Shared Message type:", - "Here"); + HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth, "Shared Message type:", "Here"); break; default: - HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth, - "Shared Message type:", - "Unknown", (unsigned)mesg->type); + HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth, "Shared Message type:", "Unknown", + (unsigned)mesg->type); } /* end switch */ FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5O_shared_debug() */ - |