summaryrefslogtreecommitdiffstats
path: root/src/H5B2.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2016-04-05 07:12:56 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2016-04-05 07:12:56 (GMT)
commit5d46ad9b3984dcddffaf369a92a8ef95339f8547 (patch)
treec2d31d43ca3a4030d6809b65d719e064ca27fa17 /src/H5B2.c
parenta816d031089f0afd2f2a2261a4e0d6277491e8b5 (diff)
downloadhdf5-5d46ad9b3984dcddffaf369a92a8ef95339f8547.zip
hdf5-5d46ad9b3984dcddffaf369a92a8ef95339f8547.tar.gz
hdf5-5d46ad9b3984dcddffaf369a92a8ef95339f8547.tar.bz2
[svn-r29635] Description:
Bring support for earray and v2 B-trees from revise_chunks branch to trunk. Tested on: MacOSX/64 10.11.4 (amazon) w/serial, parallel & production (h5committest forthcoming)
Diffstat (limited to 'src/H5B2.c')
-rw-r--r--src/H5B2.c36
1 files changed, 35 insertions, 1 deletions
diff --git a/src/H5B2.c b/src/H5B2.c
index 5cbeadd..bce6a9f 100644
--- a/src/H5B2.c
+++ b/src/H5B2.c
@@ -87,6 +87,8 @@ extern const H5B2_class_t H5G_BT2_CORDER[1];
extern const H5B2_class_t H5SM_INDEX[1];
extern const H5B2_class_t H5A_BT2_NAME[1];
extern const H5B2_class_t H5A_BT2_CORDER[1];
+extern const H5B2_class_t H5D_BT2[1];
+extern const H5B2_class_t H5D_BT2_FILT[1];
extern const H5B2_class_t H5B2_TEST2[1];
const H5B2_class_t *const H5B2_client_class_g[] = {
@@ -100,7 +102,9 @@ const H5B2_class_t *const H5B2_client_class_g[] = {
H5SM_INDEX, /* 7 - H5B2_SOHM_INDEX_ID */
H5A_BT2_NAME, /* 8 - H5B2_ATTR_DENSE_NAME_ID */
H5A_BT2_CORDER, /* 9 - H5B2_ATTR_DENSE_CORDER_ID */
- H5B2_TEST2, /* 10 - H5B2_TEST_ID */
+ H5D_BT2, /* 10 - H5B2_CDSET_ID */
+ H5D_BT2_FILT, /* 11 - H5B2_CDSET_FILT_ID */
+ H5B2_TEST2 /* 12 - H5B2_TEST_ID */
};
@@ -1445,3 +1449,33 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* H5B2_delete() */
+
+/*-------------------------------------------------------------------------
+ * Function: H5B2_patch_file
+ *
+ * Purpose: Patch the top-level file pointer contained in bt2
+ * to point to idx_info->f if they are different.
+ * This is possible because the file pointer in bt2 can be
+ * closed out if bt2 remains open.
+ *
+ * Return: SUCCEED
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5B2_patch_file(H5B2_t *bt2, H5F_t *f)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ /*
+ * Check arguments.
+ */
+ HDassert(bt2);
+ HDassert(f);
+
+ if(bt2->f != f || bt2->hdr->f != f)
+ bt2->f = bt2->hdr->f = f;
+
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* H5B2_patch_file() */
+