diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2019-08-16 16:52:42 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@hdfgroup.org> | 2019-08-16 16:52:42 (GMT) |
commit | dcf084aff42d3abafaa82b356493a2d1585afb85 (patch) | |
tree | 67ca7eb8687bf008660d8a2fce0974805b0586f7 | |
parent | 3a504899eef1a66031c6f52623c24bb4e51ca51e (diff) | |
parent | 538f743c145fbbfa7b1119693efd2ff61b34efae (diff) | |
download | hdf5-dcf084aff42d3abafaa82b356493a2d1585afb85.zip hdf5-dcf084aff42d3abafaa82b356493a2d1585afb85.tar.gz hdf5-dcf084aff42d3abafaa82b356493a2d1585afb85.tar.bz2 |
Merge pull request #1865 in HDFFV/hdf5 from ~VCHOI/my_third_fork:bugfix/HDFFV-10813-swmr-test-fails-on-jelly-with to develop
* commit '538f743c145fbbfa7b1119693efd2ff61b34efae':
Changes based on PR feedback.
Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19.
-rw-r--r-- | release_docs/RELEASE.txt | 17 | ||||
-rw-r--r-- | src/H5Fint.c | 6 |
2 files changed, 21 insertions, 2 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 094a81f..b940095 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -326,6 +326,23 @@ Bug Fixes since HDF5-1.10.3 release Library ------- + - Fixed the test failure from test_metadata_read_retry_info() in + test/swmr.c + + The test failure is due to the incorrect number of bins returned for + retry info (info.nbins). The # of bins expected for 101 read attempts + is 3 instead of 2. The routine H5F_set_retries() in src/H5Fint.c + calculates the # of bins by first obtaining the log10 value for + (read attempts - 1). For PGI/19, the log10 value for 100 read attempts + is 1.9999999999999998 instead of 2.00000. When casting the log10 value + to unsigned later on, the decimal part is chopped off causing the test + failure. + + This was fixed by obtaining the rounded integer value (HDceil) for the + log10 value of read attempts first before casting the result to unsigned. + + (VC - 2019/8/14, HDFFV-10813) + - Fixed an issue where creating a file with non-default file space info together with library high bound setting to H5F_LIBVER_V18. diff --git a/src/H5Fint.c b/src/H5Fint.c index 8d08965..29f017e 100644 --- a/src/H5Fint.c +++ b/src/H5Fint.c @@ -2992,8 +2992,10 @@ H5F_set_retries(H5F_t *f) /* Initialize the # of bins for retries */ f->shared->retries_nbins = 0; if(f->shared->read_attempts > 1) { - tmp = HDlog10((double)(f->shared->read_attempts - 1)); - f->shared->retries_nbins = (unsigned)tmp + 1; + /* Use HDceil to ensure that the log10 value is rounded up to the + nearest integer before casting to unsigned */ + tmp = HDceil(HDlog10((double)f->shared->read_attempts)); + f->shared->retries_nbins = (unsigned)tmp; } FUNC_LEAVE_NOAPI(SUCCEED) |