summaryrefslogtreecommitdiffstats
path: root/src/H5Distore.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Distore.c')
-rw-r--r--src/H5Distore.c156
1 files changed, 28 insertions, 128 deletions
diff --git a/src/H5Distore.c b/src/H5Distore.c
index 2a753f0..bf0c92e 100644
--- a/src/H5Distore.c
+++ b/src/H5Distore.c
@@ -40,10 +40,17 @@
* entry which is added to the end of the list.
*/
+/****************/
+/* Module Setup */
+/****************/
+
#define H5B_PACKAGE /*suppress error about including H5Bpkg */
#define H5D_PACKAGE /*suppress error about including H5Dpkg */
+/***********/
+/* Headers */
+/***********/
#include "H5private.h" /* Generic Functions */
#include "H5Bpkg.h" /* B-link trees */
#include "H5Dpkg.h" /* Datasets */
@@ -59,6 +66,10 @@
#include "H5Sprivate.h" /* Dataspaces */
#include "H5Vprivate.h" /* Vector and array functions */
+/****************/
+/* Local Macros */
+/****************/
+
/*
* Feature: If this constant is defined then every cache preemption and load
* causes a character to be printed on the standard error stream:
@@ -91,6 +102,12 @@
*/
#define H5D_ISTORE_NDIMS(X) (((X)->sizeof_rkey-8)/8)
+#define H5D_HASH(D,ADDR) H5F_addr_hash(ADDR,(D)->cache.chunk.nslots)
+
+/******************/
+/* Local Typedefs */
+/******************/
+
/* Raw data chunks are cached. Each entry in the cache is: */
typedef struct H5D_rdcc_ent_t {
hbool_t locked; /*entry is locked in cache */
@@ -136,9 +153,10 @@ typedef struct H5D_istore_ud1_t {
hsize_t *dims; /*dataset dimensions */
} H5D_istore_ud1_t;
-#define H5D_HASH(D,ADDR) H5F_addr_hash(ADDR,(D)->cache.chunk.nslots)
+/********************/
+/* Local Prototypes */
+/********************/
-/* Private prototypes */
static void *H5D_istore_chunk_alloc(size_t size, const H5O_pline_t *pline);
static void *H5D_istore_chunk_xfree(void *chk, const H5O_pline_t *pline);
static herr_t H5D_istore_shared_create (const H5F_t *f, H5O_layout_t *layout);
@@ -199,6 +217,14 @@ H5B_class_t H5B_ISTORE[1] = {{
H5D_istore_debug_key, /*debug */
}};
+/*********************/
+/* Package Variables */
+/*********************/
+
+/*******************/
+/* Local Variables */
+/*******************/
+
/* Declare a free list to manage the H5B_shared_t struct */
H5FL_EXTERN(H5B_shared_t);
@@ -233,8 +259,6 @@ H5FL_BLK_DEFINE_STATIC(chunk_page);
* Programmer: Robb Matzke
* Wednesday, October 8, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -269,8 +293,6 @@ H5D_istore_sizeof_rkey(const H5F_t UNUSED *f, const void *_udata)
* Programmer: Quincey Koziol
* Monday, July 5, 2004
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -303,8 +325,6 @@ H5D_istore_get_shared(const H5F_t UNUSED *f, const void *_udata)
* Programmer: Robb Matzke
* Friday, October 10, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -347,8 +367,6 @@ H5D_istore_decode_key(const H5F_t UNUSED *f, const H5B_t *bt, const uint8_t *raw
* Programmer: Robb Matzke
* Friday, October 10, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -391,8 +409,6 @@ H5D_istore_encode_key(const H5F_t UNUSED *f, const H5B_t *bt, uint8_t *raw, void
* Programmer: Robb Matzke
* Thursday, April 16, 1998
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -439,8 +455,6 @@ H5D_istore_debug_key (FILE *stream, H5F_t UNUSED *f, hid_t UNUSED dxpl_id, int i
* Programmer: Robb Matzke
* Thursday, November 6, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -492,8 +506,6 @@ H5D_istore_cmp2(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, void *_lt_key, void *_uda
* Programmer: Robb Matzke
* Wednesday, October 8, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -557,8 +569,6 @@ H5D_istore_cmp3(H5F_t UNUSED *f, hid_t UNUSED dxpl_id, void *_lt_key, void *_uda
* Programmer: Robb Matzke
* Tuesday, October 14, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -639,9 +649,6 @@ done:
* Programmer: Robb Matzke
* Thursday, October 9, 1997
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value.
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -706,10 +713,6 @@ done:
* Programmer: Robb Matzke
* Thursday, October 9, 1997
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value. The NEW_NODE argument
- * is renamed NEW_NODE_P.
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -833,12 +836,6 @@ done:
* Programmer: Robb Matzke
* Wednesday, April 21, 1999
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value.
- *
- * Quincey Koziol, 2002-04-22
- * Changed to callback from H5B_iterate
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -870,12 +867,6 @@ H5D_istore_iter_allocated (H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_l
* Programmer: Robb Matzke
* Wednesday, April 21, 1999
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value.
- *
- * Quincey Koziol, 2002-04-22
- * Changed to callback from H5B_iterate
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -922,8 +913,6 @@ H5D_istore_iter_dump (H5F_t UNUSED *f, hid_t UNUSED dxpl_id, const void *_lt_key
* Programmer: Robb Matzke
* Monday, May 18, 1998
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -963,8 +952,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -1079,11 +1066,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- * Pedro Vicente, March 28, 2002
- * Added flush parameter that switches the call to H5F_istore_flush_entry
- * The call with FALSE is used by the H5F_istore_prune_by_extent function
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -1146,10 +1128,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- * Pedro Vicente, March 28, 2002
- * Added TRUE parameter to the call to H5F_istore_preempt
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -1206,10 +1184,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- * Pedro Vicente, March 28, 2002
- * Added TRUE parameter to the call to H5F_istore_preempt
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -1272,8 +1246,6 @@ done:
* Programmer: Quincey Koziol
* Monday, September 27, 2004
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -1331,8 +1303,6 @@ done:
* Programmer: Quincey Koziol
* Thursday, July 8, 2004
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -1367,10 +1337,6 @@ H5D_istore_shared_free (void *_shared)
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- * Pedro Vicente, March 28, 2002
- * TRUE parameter to the call to H5F_istore_preempt
- *
*-------------------------------------------------------------------------
*/
static herr_t
@@ -1498,13 +1464,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- * Robb Matzke, 1999-08-02
- * The split ratios are passed in as part of the data transfer
- * property list.
- *
- * Pedro Vicente, March 28, 2002
- * TRUE parameter to the call to H5F_istore_preempt
*-------------------------------------------------------------------------
*/
static void *
@@ -1778,10 +1737,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- * Robb Matzke, 1999-08-02
- * The split_ratios are passed as part of the data transfer
- * property list.
*-------------------------------------------------------------------------
*/
static herr_t
@@ -1859,8 +1814,6 @@ done:
* Programmer: Quincey Koziol
* Wednesday, May 7, 2003
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
ssize_t
@@ -2052,8 +2005,6 @@ done:
* Programmer: Quincey Koziol
* Friday, May 2, 2003
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
ssize_t
@@ -2207,8 +2158,6 @@ done:
* Programmer: Robb Matzke
* Tuesday, October 21, 1997
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -2256,9 +2205,6 @@ done:
* Programmer: Robb Matzke
* Wednesday, April 21, 1999
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value.
*-------------------------------------------------------------------------
*/
hsize_t
@@ -2315,10 +2261,6 @@ done:
* Programmer: Albert Cheng
* June 27, 1998
*
- * Modifications:
- * Modified to return the address instead of returning it through
- * a parameter - QAK, 1/30/02
- *
*-------------------------------------------------------------------------
*/
haddr_t
@@ -2380,8 +2322,6 @@ done:
* Programmer: Quincey Koziol
* April 22, 2004
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static void *
@@ -2414,8 +2354,6 @@ H5D_istore_chunk_alloc(size_t size, const H5O_pline_t *pline)
* Programmer: Quincey Koziol
* April 22, 2004
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
static void *
@@ -2457,26 +2395,6 @@ H5D_istore_chunk_xfree(void *chk, const H5O_pline_t *pline)
* Programmer: Albert Cheng
* June 26, 1998
*
- * Modifications:
- * rky, 1998-09-23
- * Added barrier to preclude racing with data writes.
- *
- * rky, 1998-12-07
- * Added Wait-Signal wrapper around unlock-lock critical region
- * to prevent race condition (unlock reads, lock writes the
- * chunk).
- *
- * Robb Matzke, 1999-08-02
- * The split_ratios are passed in as part of the data transfer
- * property list.
- *
- * Quincey Koziol, 2002-05-16
- * Rewrote algorithm to allocate & write blocks without using
- * lock/unlock code.
- *
- * Quincey Koziol, 2002-05-17
- * Added feature to avoid writing fill-values if user has indicated
- * that they should never be written.
*-------------------------------------------------------------------------
*/
herr_t
@@ -2901,8 +2819,6 @@ done:
*
* Comments: Called by H5D_prune_by_extent
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -2961,8 +2877,6 @@ done:
*
* Comments: Part of H5B_ISTORE
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
/* ARGSUSED */
@@ -3011,8 +2925,6 @@ done:
* Fot the ones that are allocated we initialize the part that lies outside the boundary
* with the fill value.
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -3204,8 +3116,6 @@ done:
* Programmer: Quincey Koziol
* Thursday, March 20, 2003
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -3256,8 +3166,6 @@ done:
* Programmer: Quincey Koziol
* Saturday, May 29, 2004
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -3357,9 +3265,6 @@ done:
* Programmer: Robb Matzke
* Wednesday, April 28, 1999
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value.
*-------------------------------------------------------------------------
*/
herr_t
@@ -3398,8 +3303,6 @@ done:
* Programmer: Robb Matzke
* Thursday, May 21, 1998
*
- * Modifications:
- *
*-------------------------------------------------------------------------
*/
herr_t
@@ -3461,9 +3364,6 @@ done:
* Programmer: Robb Matzke
* Thursday, April 16, 1998
*
- * Modifications:
- * Robb Matzke, 1999-07-28
- * The ADDR argument is passed by value.
*-------------------------------------------------------------------------
*/
herr_t