mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
[svn-r27074] Description:
Clean up H5EA interface, to align w/v3 metadata cache changes Tested on: MacOSX/64 10.10.3 (amazon) w/serial & parallel Linux/32 2.6.* (jam) w/serial & parallel
This commit is contained in:
parent
9c9ac47ceb
commit
d0de32fc3a
14
src/H5EA.c
14
src/H5EA.c
@ -148,7 +148,7 @@ HDfprintf(stderr, "%s: Called\n", FUNC);
|
||||
H5E_THROW(H5E_CANTALLOC, "memory allocation failed for extensible array info")
|
||||
|
||||
/* Lock the array header into memory */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, ctx_udata, H5AC_WRITE)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, ea_addr, ctx_udata, H5AC_WRITE)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to load extensible array header")
|
||||
|
||||
/* Point extensible array wrapper at header and bump it's ref count */
|
||||
@ -168,7 +168,7 @@ HDfprintf(stderr, "%s: Called\n", FUNC);
|
||||
|
||||
CATCH
|
||||
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
if(!ret_value)
|
||||
if(ea && H5EA_close(ea, dxpl_id) < 0)
|
||||
@ -209,7 +209,7 @@ H5EA_open(H5F_t *f, hid_t dxpl_id, haddr_t ea_addr, void *ctx_udata))
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: ea_addr = %a\n", FUNC, ea_addr);
|
||||
#endif /* QAK */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, ctx_udata, H5AC_READ)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, ea_addr, ctx_udata, H5AC_READ)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to load extensible array header, address = %llu", (unsigned long long)ea_addr)
|
||||
|
||||
/* Check for pending array deletion */
|
||||
@ -237,7 +237,7 @@ HDfprintf(stderr, "%s: ea_addr = %a\n", FUNC, ea_addr);
|
||||
|
||||
CATCH
|
||||
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
if(!ret_value)
|
||||
if(ea && H5EA_close(ea, dxpl_id) < 0)
|
||||
@ -1048,7 +1048,7 @@ HDfprintf(stderr, "%s: Called\n", FUNC);
|
||||
|
||||
/* Lock the array header into memory */
|
||||
/* (OK to pass in NULL for callback context, since we know the header must be in the cache) */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(ea->f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, NULL, H5AC_WRITE)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(ea->f, dxpl_id, ea_addr, NULL, H5AC_WRITE)))
|
||||
H5E_THROW(H5E_CANTLOAD, "unable to load extensible array header")
|
||||
|
||||
/* Set the shared array header's file context for this operation */
|
||||
@ -1112,7 +1112,7 @@ H5EA_delete(H5F_t *f, hid_t dxpl_id, haddr_t ea_addr, void *ctx_udata))
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: ea_addr = %a\n", FUNC, ea_addr);
|
||||
#endif /* QAK */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, ctx_udata, H5AC_WRITE)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, ea_addr, ctx_udata, H5AC_WRITE)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to protect extensible array header, address = %llu", (unsigned long long)ea_addr)
|
||||
|
||||
/* Check for files using shared array header */
|
||||
@ -1131,7 +1131,7 @@ HDfprintf(stderr, "%s: ea_addr = %a\n", FUNC, ea_addr);
|
||||
CATCH
|
||||
|
||||
/* Unprotect the header, if an error occurred */
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
|
||||
END_FUNC(PRIV) /* end H5EA_delete() */
|
||||
|
@ -43,7 +43,7 @@
|
||||
#include "H5Eprivate.h" /* Error handling */
|
||||
#include "H5EApkg.h" /* Extensible Arrays */
|
||||
#include "H5MFprivate.h" /* File memory management */
|
||||
#include "H5VMprivate.h" /* Vectors and arrays */
|
||||
#include "H5VMprivate.h" /* Vectors and arrays */
|
||||
#include "H5WBprivate.h" /* Wrapped Buffers */
|
||||
|
||||
|
||||
@ -577,6 +577,7 @@ H5EA__cache_iblock_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata))
|
||||
uint32_t stored_chksum; /* Stored metadata checksum value */
|
||||
uint32_t computed_chksum; /* Computed metadata checksum value */
|
||||
haddr_t arr_addr; /* Address of array header in the file */
|
||||
size_t u; /* Local index variable */
|
||||
|
||||
/* Sanity check */
|
||||
HDassert(f);
|
||||
@ -638,8 +639,6 @@ H5EA__cache_iblock_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata))
|
||||
|
||||
/* Decode data block addresses in index block */
|
||||
if(iblock->ndblk_addrs > 0) {
|
||||
size_t u; /* Local index variable */
|
||||
|
||||
/* Decode addresses of data blocks in index block */
|
||||
for(u = 0; u < iblock->ndblk_addrs; u++)
|
||||
H5F_addr_decode(f, &p, &iblock->dblk_addrs[u]);
|
||||
@ -647,8 +646,6 @@ H5EA__cache_iblock_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata))
|
||||
|
||||
/* Decode super block addresses in index block */
|
||||
if(iblock->nsblk_addrs > 0) {
|
||||
size_t u; /* Local index variable */
|
||||
|
||||
/* Decode addresses of super blocks in index block */
|
||||
for(u = 0; u < iblock->nsblk_addrs; u++)
|
||||
H5F_addr_decode(f, &p, &iblock->sblk_addrs[u]);
|
||||
@ -872,11 +869,7 @@ H5EA__cache_iblock_notify(H5AC_notify_action_t action, H5EA_iblock_t *iblock))
|
||||
break;
|
||||
|
||||
default:
|
||||
#ifdef NDEBUG
|
||||
H5E_THROW(H5E_BADVALUE, "unknown action from metadata cache")
|
||||
#else /* NDEBUG */
|
||||
HDassert(0 && "Unknown action?!?");
|
||||
#endif /* NDEBUG */
|
||||
} /* end switch */
|
||||
|
||||
CATCH
|
||||
@ -1300,11 +1293,7 @@ H5EA__cache_sblock_notify(H5AC_notify_action_t action, H5EA_sblock_t *sblock))
|
||||
break;
|
||||
|
||||
default:
|
||||
#ifdef NDEBUG
|
||||
H5E_THROW(H5E_BADVALUE, "unknown action from metadata cache")
|
||||
#else /* NDEBUG */
|
||||
HDassert(0 && "Unknown action?!?");
|
||||
#endif /* NDEBUG */
|
||||
} /* end switch */
|
||||
|
||||
CATCH
|
||||
@ -1662,11 +1651,7 @@ H5EA__cache_dblock_notify(H5AC_notify_action_t action, H5EA_dblock_t *dblock))
|
||||
break;
|
||||
|
||||
default:
|
||||
#ifdef NDEBUG
|
||||
H5E_THROW(H5E_BADVALUE, "unknown action from metadata cache")
|
||||
#else /* NDEBUG */
|
||||
HDassert(0 && "Unknown action?!?");
|
||||
#endif /* NDEBUG */
|
||||
} /* end switch */
|
||||
|
||||
CATCH
|
||||
@ -1791,9 +1776,6 @@ H5EA__cache_dblk_page_load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata))
|
||||
HDassert(f);
|
||||
HDassert(H5F_addr_defined(addr));
|
||||
HDassert(udata && udata->hdr && udata->parent);
|
||||
#ifdef QAK
|
||||
HDfprintf(stderr, "%s: addr = %a\n", FUNC, addr);
|
||||
#endif /* QAK */
|
||||
|
||||
/* Allocate the extensible array data block page */
|
||||
if(NULL == (dblk_page = H5EA__dblk_page_alloc(udata->hdr, udata->parent)))
|
||||
@ -2014,11 +1996,7 @@ H5EA__cache_dblk_page_notify(H5AC_notify_action_t action, H5EA_dblk_page_t *dblk
|
||||
break;
|
||||
|
||||
default:
|
||||
#ifdef NDEBUG
|
||||
H5E_THROW(H5E_BADVALUE, "unknown action from metadata cache")
|
||||
#else /* NDEBUG */
|
||||
HDassert(0 && "Unknown action?!?");
|
||||
#endif /* NDEBUG */
|
||||
} /* end switch */
|
||||
|
||||
CATCH
|
||||
|
@ -119,7 +119,7 @@ H5EA__hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
|
||||
} /* end if */
|
||||
|
||||
/* Load the extensible array header */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, addr, dbg_ctx, H5AC_READ)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, addr, dbg_ctx, H5AC_READ)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to load extensible array header")
|
||||
|
||||
/* Print opening message */
|
||||
@ -171,7 +171,7 @@ H5EA__hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
|
||||
CATCH
|
||||
if(dbg_ctx && cls->dst_dbg_ctx(dbg_ctx) < 0)
|
||||
H5E_THROW(H5E_CANTRELEASE, "unable to release extensible array debugging context")
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__hdr_debug() */
|
||||
@ -196,9 +196,9 @@ H5EA__iblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t UNUSED addr, FILE *stream, i
|
||||
int fwidth, const H5EA_class_t *cls, haddr_t hdr_addr, haddr_t obj_addr))
|
||||
|
||||
/* Local variables */
|
||||
H5EA_hdr_t *hdr = NULL; /* Shared extensible array header */
|
||||
H5EA_iblock_t *iblock = NULL; /* Extensible array index block */
|
||||
void *dbg_ctx = NULL; /* Extensible array context */
|
||||
H5EA_hdr_t *hdr = NULL; /* Shared extensible array header */
|
||||
H5EA_iblock_t *iblock = NULL; /* Extensible array index block */
|
||||
void *dbg_ctx = NULL; /* Extensible array context */
|
||||
|
||||
/* Check arguments */
|
||||
HDassert(f);
|
||||
@ -218,7 +218,7 @@ H5EA__iblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t UNUSED addr, FILE *stream, i
|
||||
} /* end if */
|
||||
|
||||
/* Load the extensible array header */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, hdr_addr, dbg_ctx, H5AC_READ)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, hdr_addr, dbg_ctx, H5AC_READ)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to load extensible array header")
|
||||
|
||||
/* Sanity check */
|
||||
@ -296,7 +296,7 @@ CATCH
|
||||
H5E_THROW(H5E_CANTRELEASE, "unable to release extensible array debugging context")
|
||||
if(iblock && H5EA__iblock_unprotect(iblock, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array index block")
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, hdr_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__iblock_debug() */
|
||||
@ -321,9 +321,9 @@ H5EA__sblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int inde
|
||||
int fwidth, const H5EA_class_t *cls, haddr_t hdr_addr, unsigned sblk_idx, haddr_t obj_addr))
|
||||
|
||||
/* Local variables */
|
||||
H5EA_hdr_t *hdr = NULL; /* Shared extensible array header */
|
||||
H5EA_sblock_t *sblock = NULL; /* Extensible array super block */
|
||||
void *dbg_ctx = NULL; /* Extensible array context */
|
||||
H5EA_hdr_t *hdr = NULL; /* Shared extensible array header */
|
||||
H5EA_sblock_t *sblock = NULL; /* Extensible array super block */
|
||||
void *dbg_ctx = NULL; /* Extensible array context */
|
||||
|
||||
/* Check arguments */
|
||||
HDassert(f);
|
||||
@ -343,7 +343,7 @@ H5EA__sblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int inde
|
||||
} /* end if */
|
||||
|
||||
/* Load the extensible array header */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, hdr_addr, dbg_ctx, H5AC_READ)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, hdr_addr, dbg_ctx, H5AC_READ)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to load extensible array header")
|
||||
|
||||
/* Protect super block */
|
||||
@ -388,7 +388,7 @@ CATCH
|
||||
H5E_THROW(H5E_CANTRELEASE, "unable to release extensible array debugging context")
|
||||
if(sblock && H5EA__sblock_unprotect(sblock, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array super block")
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, hdr_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__sblock_debug() */
|
||||
@ -415,7 +415,7 @@ H5EA__dblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int inde
|
||||
/* Local variables */
|
||||
H5EA_hdr_t *hdr = NULL; /* Shared extensible array header */
|
||||
H5EA_dblock_t *dblock = NULL; /* Extensible array data block */
|
||||
void *dbg_ctx = NULL; /* Extensible array context */
|
||||
void *dbg_ctx = NULL; /* Extensible array context */
|
||||
size_t u; /* Local index variable */
|
||||
|
||||
/* Check arguments */
|
||||
@ -437,7 +437,7 @@ H5EA__dblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int inde
|
||||
} /* end if */
|
||||
|
||||
/* Load the extensible array header */
|
||||
if(NULL == (hdr = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, hdr_addr, dbg_ctx, H5AC_READ)))
|
||||
if(NULL == (hdr = H5EA__hdr_protect(f, dxpl_id, hdr_addr, dbg_ctx, H5AC_READ)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to load extensible array header")
|
||||
|
||||
/* Protect data block */
|
||||
@ -471,7 +471,7 @@ CATCH
|
||||
H5E_THROW(H5E_CANTRELEASE, "unable to release extensible array debugging context")
|
||||
if(dblock && H5EA__dblock_unprotect(dblock, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array data block")
|
||||
if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_EARRAY_HDR, hdr_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
|
||||
if(hdr && H5EA__hdr_unprotect(hdr, dxpl_id, H5AC__NO_FLAGS_SET) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__dblock_debug() */
|
||||
|
@ -610,6 +610,70 @@ CATCH
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__hdr_modified() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5EA__hdr_protect
|
||||
*
|
||||
* Purpose: Convenience wrapper around protecting extensible array header
|
||||
*
|
||||
* Return: Non-NULL pointer to index block on success/NULL on failure
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* koziol@hdfgroup.org
|
||||
* Jul 31 2013
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
BEGIN_FUNC(PKG, ERR,
|
||||
H5EA_hdr_t *, NULL, NULL,
|
||||
H5EA__hdr_protect(H5F_t *f, hid_t dxpl_id, haddr_t ea_addr, void *ctx_udata,
|
||||
H5AC_protect_t rw))
|
||||
|
||||
/* Local variables */
|
||||
|
||||
/* Sanity check */
|
||||
HDassert(f);
|
||||
HDassert(H5F_addr_defined(ea_addr));
|
||||
|
||||
/* Protect the header */
|
||||
if(NULL == (ret_value = (H5EA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_EARRAY_HDR, ea_addr, ctx_udata, rw)))
|
||||
H5E_THROW(H5E_CANTPROTECT, "unable to protect extensible array header, address = %llu", (unsigned long long)ea_addr)
|
||||
|
||||
CATCH
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__hdr_protect() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5EA__hdr_unprotect
|
||||
*
|
||||
* Purpose: Convenience wrapper around unprotecting extensible array header
|
||||
*
|
||||
* Return: Non-negative on success/Negative on failure
|
||||
*
|
||||
* Programmer: Quincey Koziol
|
||||
* koziol@hdfgroup.org
|
||||
* Aug 1 2013
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
BEGIN_FUNC(PKG, ERR,
|
||||
herr_t, SUCCEED, FAIL,
|
||||
H5EA__hdr_unprotect(H5EA_hdr_t *hdr, hid_t dxpl_id, unsigned cache_flags))
|
||||
|
||||
/* Local variables */
|
||||
|
||||
/* Sanity check */
|
||||
HDassert(hdr);
|
||||
|
||||
/* Unprotect the header */
|
||||
if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_EARRAY_HDR, hdr->addr, hdr, cache_flags) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to unprotect extensible array hdr, address = %llu", (unsigned long long)hdr->addr)
|
||||
|
||||
CATCH
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__hdr_unprotect() */
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: H5EA__hdr_delete
|
||||
@ -665,7 +729,7 @@ HDfprintf(stderr, "%s: hdr->idx_blk_addr = %a\n", FUNC, hdr->idx_blk_addr);
|
||||
CATCH
|
||||
|
||||
/* Unprotect the header, deleting it if an error hasn't occurred */
|
||||
if(H5AC_unprotect(hdr->f, dxpl_id, H5AC_EARRAY_HDR, hdr->addr, hdr, cache_flags) < 0)
|
||||
if(H5EA__hdr_unprotect(hdr, dxpl_id, cache_flags) < 0)
|
||||
H5E_THROW(H5E_CANTUNPROTECT, "unable to release extensible array header")
|
||||
|
||||
END_FUNC(PKG) /* end H5EA__hdr_delete() */
|
||||
|
@ -302,11 +302,12 @@ struct H5EA_t {
|
||||
|
||||
/* Metadata cache callback user data types */
|
||||
|
||||
/* Info needed for loading data block page */
|
||||
typedef struct H5EA_dblk_page_cache_ud_t {
|
||||
/* Info needed for loading super block */
|
||||
typedef struct H5EA_sblock_cache_ud_t {
|
||||
H5EA_hdr_t *hdr; /* Shared extensible array information */
|
||||
H5EA_sblock_t *parent; /* Pointer to parent object for data block page (super block) */
|
||||
} H5EA_dblk_page_cache_ud_t;
|
||||
H5EA_iblock_t *parent; /* Pointer to parent object for super block (index block) */
|
||||
unsigned sblk_idx; /* Index of super block */
|
||||
} H5EA_sblock_cache_ud_t;
|
||||
|
||||
/* Info needed for loading data block */
|
||||
typedef struct H5EA_dblock_cache_ud_t {
|
||||
@ -315,12 +316,11 @@ typedef struct H5EA_dblock_cache_ud_t {
|
||||
size_t nelmts; /* Number of elements in data block */
|
||||
} H5EA_dblock_cache_ud_t;
|
||||
|
||||
/* Info needed for loading super block */
|
||||
typedef struct H5EA_sblock_cache_ud_t {
|
||||
/* Info needed for loading data block page */
|
||||
typedef struct H5EA_dblk_page_cache_ud_t {
|
||||
H5EA_hdr_t *hdr; /* Shared extensible array information */
|
||||
H5EA_iblock_t *parent; /* Pointer to parent object for super block (index block) */
|
||||
unsigned sblk_idx; /* Index of super block */
|
||||
} H5EA_sblock_cache_ud_t;
|
||||
H5EA_sblock_t *parent; /* Pointer to parent object for data block page (super block) */
|
||||
} H5EA_dblk_page_cache_ud_t;
|
||||
|
||||
#ifdef H5EA_TESTING
|
||||
typedef struct H5EA__ctx_cb_t {
|
||||
@ -377,6 +377,9 @@ H5_DLL herr_t H5EA__hdr_decr(H5EA_hdr_t *hdr);
|
||||
H5_DLL herr_t H5EA__hdr_fuse_incr(H5EA_hdr_t *hdr);
|
||||
H5_DLL size_t H5EA__hdr_fuse_decr(H5EA_hdr_t *hdr);
|
||||
H5_DLL herr_t H5EA__hdr_modified(H5EA_hdr_t *hdr);
|
||||
H5_DLL H5EA_hdr_t *H5EA__hdr_protect(H5F_t *f, hid_t dxpl_id, haddr_t ea_addr,
|
||||
void *ctx_udata, H5AC_protect_t rw);
|
||||
H5_DLL herr_t H5EA__hdr_unprotect(H5EA_hdr_t *hdr, hid_t dxpl_id, unsigned cache_flags);
|
||||
H5_DLL herr_t H5EA__hdr_delete(H5EA_hdr_t *hdr, hid_t dxpl_id);
|
||||
H5_DLL herr_t H5EA__hdr_dest(H5EA_hdr_t *hdr);
|
||||
|
||||
|
@ -190,7 +190,6 @@ const H5AC_class_t H5AC_EARRAY_TEST[1] = {{
|
||||
(H5AC_size_func_t)earray_cache_test_size,
|
||||
}};
|
||||
|
||||
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Function: init_cparam
|
||||
|
Loading…
Reference in New Issue
Block a user