From 8cc44e86a3bad7913975d1f5e87323c9909aa4bb Mon Sep 17 00:00:00 2001 From: Mike McGreevy Date: Mon, 18 Oct 2010 15:46:08 -0500 Subject: [svn-r19623] Purpose: - Fix a bug in each of the metadata accumulator source and test code Description: - In accum.c test file, switch dxpl_id used in H5F_accum_* function calls to H5P_DATASET_XFER_DEFAULT (instead of H5AC_dxpl_id), to fix compilation on windows. - Changed boundary checking from <= to < when checking if a read from disk with overlapping dirty metadata in the accumulator has the read ending such that it aligns exactly with the dirty accumulator (line 234 of H5Faccum.c). Tested: - h5committested --- src/H5Faccum.c | 2 +- test/accum.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/H5Faccum.c b/src/H5Faccum.c index 6c9eb67..c89ff33 100644 --- a/src/H5Faccum.c +++ b/src/H5Faccum.c @@ -231,7 +231,7 @@ H5F_accum_read(const H5F_t *f, hid_t dxpl_id, H5FD_mem_t type, haddr_t addr, dirty_off = 0; /* Check for read ending within dirty region */ - if(H5F_addr_le(addr + size, dirty_loc + f->shared->accum.dirty_len)) + if(H5F_addr_lt(addr + size, dirty_loc + f->shared->accum.dirty_len)) overlap_size = (size_t)((addr + size) - buf_off); else /* Access covers whole dirty region */ overlap_size = f->shared->accum.dirty_len; diff --git a/test/accum.c b/test/accum.c index 91d30c4..c5f6610 100644 --- a/test/accum.c +++ b/test/accum.c @@ -55,11 +55,11 @@ unsigned test_random_write(void); void accum_printf(void); /* Private Test H5Faccum Function Wrappers */ -#define accum_write(a,s,b) H5F_block_write(f, H5FD_MEM_DEFAULT, (haddr_t)(a), (size_t)(s), H5AC_dxpl_id, (b)) -#define accum_read(a,s,b) H5F_block_read(f, H5FD_MEM_DEFAULT, (haddr_t)(a), (size_t)(s), H5AC_dxpl_id, (b)) -#define accum_free(a,s) H5F_accum_free(f, H5AC_dxpl_id, H5FD_MEM_DEFAULT, (haddr_t)(a), (hsize_t)(s)) -#define accum_flush() H5F_accum_flush(f, H5AC_dxpl_id) -#define accum_reset() H5F_accum_reset(f, H5AC_dxpl_id, TRUE) +#define accum_write(a,s,b) H5F_block_write(f, H5FD_MEM_DEFAULT, (haddr_t)(a), (size_t)(s), H5P_DATASET_XFER_DEFAULT, (b)) +#define accum_read(a,s,b) H5F_block_read(f, H5FD_MEM_DEFAULT, (haddr_t)(a), (size_t)(s), H5P_DATASET_XFER_DEFAULT, (b)) +#define accum_free(a,s) H5F_accum_free(f, H5P_DATASET_XFER_DEFAULT, H5FD_MEM_DEFAULT, (haddr_t)(a), (hsize_t)(s)) +#define accum_flush() H5F_accum_flush(f, H5P_DATASET_XFER_DEFAULT) +#define accum_reset() H5F_accum_reset(f, H5P_DATASET_XFER_DEFAULT, TRUE) /* ================= */ /* Main Test Routine */ @@ -1625,7 +1625,7 @@ error: HDfree(zbuf); return 1; -} /* end test_random_write() */ +} /* end test_big() */ /*------------------------------------------------------------------------- -- cgit v0.12