summaryrefslogtreecommitdiffstats
path: root/test/swmr_reader.c
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2012-05-30 22:01:00 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2012-05-30 22:01:00 (GMT)
commit9786c0e5cb563c362c9b6f5b9bd0730b9ddcadf6 (patch)
tree006f9f714a95e349ae313fd76afdae9a45910c19 /test/swmr_reader.c
parent1f6cb6f84a0fdeec79938624ef874d4147d52d87 (diff)
downloadhdf5-9786c0e5cb563c362c9b6f5b9bd0730b9ddcadf6.zip
hdf5-9786c0e5cb563c362c9b6f5b9bd0730b9ddcadf6.tar.gz
hdf5-9786c0e5cb563c362c9b6f5b9bd0730b9ddcadf6.tar.bz2
[svn-r22422] Purpose: Add support for SWMR with v2 b-trees
Description: Adds SWMR support to the v2 b-trees when used as a chunk index. Because each node keeps track of the total number of records reachable through each of its children, nodes must be shadowed every time a descendent record is inserted or removed. This implementation prevents this from happening, however, if the node has already been shadowed since the last time the v2 b-tree header was flushed. Also modified SWMR test to include v2 b-trees. Tested: jam, koala, ostrich (h5committest), durandal Note: There is a preexisting failure in the ph5diff (-v) test
Diffstat (limited to 'test/swmr_reader.c')
-rw-r--r--test/swmr_reader.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/test/swmr_reader.c b/test/swmr_reader.c
index 48cf4bd..cdfc1f9 100644
--- a/test/swmr_reader.c
+++ b/test/swmr_reader.c
@@ -10,7 +10,7 @@ check_dataset(hid_t fid, unsigned verbose, const char *sym_name, symbol_t *recor
hid_t dsid; /* Dataset ID */
hid_t file_sid; /* Dataset's space ID */
hssize_t snpoints; /* Number of elements in dataset */
- hsize_t start, count = 1; /* Hyperslab selection values */
+ hsize_t start[2] = {0, 0}, count[2] = {1, 1}; /* Hyperslab selection values */
/* Open dataset for symbol */
if((dsid = H5Dopen2(fid, sym_name, H5P_DEFAULT)) < 0)
@@ -31,8 +31,8 @@ check_dataset(hid_t fid, unsigned verbose, const char *sym_name, symbol_t *recor
/* Check if there are records for symbol */
if(snpoints > 0) {
/* Choose the last record in the dataset */
- start = (hsize_t)(snpoints - 1);
- if(H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, &start, NULL, &count, NULL) < 0)
+ start[1] = (hsize_t)(snpoints - 1);
+ if(H5Sselect_hyperslab(file_sid, H5S_SELECT_SET, start, NULL, count, NULL) < 0)
return(-1);
/* Read record from dataset */
@@ -41,7 +41,7 @@ check_dataset(hid_t fid, unsigned verbose, const char *sym_name, symbol_t *recor
return(-1);
/* Verify record value */
- if(record->rec_id != start) {
+ if(record->rec_id != start[1]) {
printf("Incorrect record value!\n");
printf("Symbol = '%s', # of records = %lld, record->rec_id = %llu\n", sym_name, (long long)snpoints, (unsigned long long)record->rec_id);
return(-1);