Author Commit Message Commit Date David Young 2dd9c3b92fb The err_compat test relied on some "lines" on the standard output stream
to end with whitespace padding rather than newlines. My introduction of
variadic TESTING() got rid of the padding. I have straightened this out
by newline-terminating the stdout lines in the test program and in its
expected out. I also add some newlines to the program's standard error
output so that the expected error output still matches. 08 Oct 2019 David Young c2b841f5139 Add NetBSD and Berkeley licenses for `struct timespec` helper macros. 07 Oct 2019 David Young 730b2fbcb26 Provide the BSD `struct timespec` arithmetic macro, timespecsub(). 07 Oct 2019 David Young 19304abb517 Fix an off-by-one error in the retries API that made the test "protect
an entry to verify retries" in `test/cache` fail. 07 Oct 2019 David Young 743c9358d14 Introduce PRI*HADDR and PRI*HSIZE for printing haddr_t and hsize_t. 03 Oct 2019 David Young 82f647534c3 Make some NetBSD compatibility patches. 03 Oct 2019 David Young 09bb031cf19 Refactor a bit, remove dead code, move some helper functions to the top
of the file, remove unused variables. 02 Oct 2019 David Young 4311b2ef9de Fix some comments where "read" was written instead of "write." NFCI. 02 Oct 2019 David Young b1b98cfafe5 F ix off-by-one bug affecting metadata-read retries: retries == tries - 1. 02 Oct 2019 David Young 5025be74eaf Use int64_t instead of uint64_t to avoid some warnings about sign
conversion. 30 Sep 2019 David Young 20dd9b1372b Initialize `data` and `odata` to NULL like the exit sequences
expect. Free `odata`. 30 Sep 2019 David Young 38f3ece57a3 Add a test for single-page metadata (SPMDE) writes. Mention in a
comment to myself that I need to reduce code duplication with the MPMDE
test.
In vfd_read_each_equals(), print the correct expected value when there
is a discrepancy.
No functional change intended: correct a comment in
vfd_read_each_equals. Fix indentation in the test_raw_data_handling()
header comment. 30 Sep 2019 David Young de33d5cb3c3 Rename the metadata test again to reflect how it's checking the page
buffer's treatment of multipage metadata entries (MPMDEs). Mention why
an H5PB_flush() is not necessary for MPMDEs to reach visibility at the
VFD layer. 27 Sep 2019 David Young f0596cea653 Don't use FILENAME and FILENAME[0] because that looks like worrisome
macro magic. Use namebases and namebase, instead.
Extract a bunch of copy-and-paste VFD SWMR setup into a new subroutine,
swmr_fapl_augment().
Make sure that the metadata reads all-0s until it reads all -1s.
Extract a subroutine, vfd_read_each_equals(), that reads and compares a
region with one of its arguments.
Rename from test_basic_metadata_handling() to
test_metadata_delay_basic(), since that gets at what we're testi... 27 Sep 2019 David Young 078db937523 Fix a typo: adress -> address. 27 Sep 2019 David Young 8b38c2ab1b4 Skip the metadata accumulator and always perform I/O through the VFD, so
that writes are not delayed.
In H5PB__flush_entry, simplify by eliminating a temporary variable and a
constant. 26 Sep 2019 David Young b5b9a8907e8 If a page entry is delayed *until* tick `t`, and tick `t` has arrived,
it is eligible to flush *now*, so do that. Don't wait until tick `t +
1`. 26 Sep 2019 David Young a6b9394e8c2 Fix a comment: I don't know what `*pbe_ptr` was. Refer to `page`, since
that seems to be the intention. No functional change intended. 26 Sep 2019 David Young 1b63ff60d24 Rename local variable `delay_write_until` as `until`. Reduce
parenthesization in an `if` condition. Join some lines. No functional
change intended. 26 Sep 2019 David Young 2fd118ceaf5 Initialize VFD SWMR configuration block to zeroes. I was hopeful that
this would fix a bug, but I don't think it had any effect. Still, a
necessary change. 26 Sep 2019 David Young a68c2c92c3c Oops, straggler from last: rename the nanosecond constants. While I am
here, delete dead code. 26 Sep 2019 David Young e4f9e45399f SECOND_TO_NANOSECS is the name of a function, not a constant. Rename to
nanosecs_per_second. Ditto for the tenth-second constant. 26 Sep 2019 David Young 35c049d6a4a Write test data from a different buffer than we read into, since I
anticipate comparing the written buffer with the read buffer.
Don't initialize variables prematurely so that the compiler has a chance
to warn about variables read before they are written.
Repeatedly flush the page buffer, once each time we end the tick.
Write errors to stdout instead of stderr. 26 Sep 2019 David Young bddf3ff6a53 In H5PB_flush(), skip a page-buffer entry if its write is delayed. 26 Sep 2019 David Young 4d12df1d218 Commit to the clock_gettime() versions of VFD SWMR and delete the
gettimeofday() alternate. Perform nanoseconds arithmetic using uint64_t
instead of long to avoid unwanted overflows on 32-bit systems like
my i386 (!) development box. 25 Sep 2019 David Young 06806a27655 Add to the page buffer a local printf-like debug function that I can
turn on and off. Use it here and there. 25 Sep 2019 David Young bd0c625e380 Clean up excessive casting and parenthesization. No functional change
intended. 24 Sep 2019 David Young de2edbb2380 Add a basic metadata test for VFD SWMR page buffering. Currently the
test fails....
Make some comments more true to reality and fix a couple of typos. 23 Sep 2019 David Young a8ebf7c5413 Tell the compiler that h5_testing() is a printf-like function. 23 Sep 2019 David Young d4ecff83190 Fix some incorrect format strings. 23 Sep 2019 David Young 0880c57d13e Straggler from last commit: make TESTING() take printf-like varargs
arguments. 23 Sep 2019 David Young b4746506450 Don't calloc() the VFD SWMR configuration, just use a local variable.
Combine the VFD SWMR and non-VFD SWMR raw-data test into one
routine that takes a bool parameter to switch on VFD SMWR.
Update my description of the to-be-written metadata test for VFD SWMR. 23 Sep 2019 David Young 57cfb035ada Delete end-of-block comments, they're uninformative and they make the page
busy. 20 Sep 2019 David Young 89d3461a00e Revise a warning puts() to be more hopeful about VFD SWMR and
multi/split compatibility. 20 Sep 2019 David Young 752fb97ef32 Don't set up raw-data pages for delayed writes. This prevents
an assertion from firing:
"entry_ptr->delay_write_until == 0" failed: file "../../../vchoi_fork/src/H5PB.c", line 4093, function "H5PB__write_raw"
In a comment, mention a change that has to be made to accommodate parallel
mode. 19 Sep 2019 David Young 71499c852b0 Unse TEST_ERROR instead of the return statement I copied & pasted, oops.
Use a (more) accurate name for the VFD SWMR test routine.
Mention that VFD SWMR isn't expected to work with multi/split VFDs,
yet. 19 Sep 2019 David Young 9cb455ca871 Add the zygote of VFD SWMR-mode page-buffer tests. 17 Sep 2019 David Young d001d0ec27b Use calloc instead of malloc so that the VFD SWMR configuration
is initialized to default values. 17 Sep 2019 David Young 73e07e25736 Make whitespace consistent: no leading tabs! 16 Sep 2019 David Young f16d86d3e74 Update function documentation. NFCI. 16 Sep 2019 David Young 2cb57cb9265 Enable h5ls to use VFD SWMR. 12 Sep 2019 David Young 1f4dd5692d1 Use h5_retry_init/_next to retry loading the SWMR shadow file. 12 Sep 2019 David Young 0a81436fab1 Convert several warnings about const to non-const conversion at H5Tcopy()
invocations to one warning in the H5Tcopy() implementation. 12 Sep 2019 David Young faf3336f522 Quiet compiler warnings about signedness by changing a signed
integer to an unsigned one. 12 Sep 2019 David Young 93352e65eae Ignore vim swap files and ctags files. 12 Sep 2019 David Young 70152bbd6ce Replace a missing curly brace. 10 Sep 2019 David Young 9e2d4344de7 Merge the latest h5_retry_t code from my `sleepy` branch. 10 Sep 2019 David Young 508cfab552d Tand the he VFD SWMR test script used `| tee` to redirect test programs'
output, then it tested $? for an error exit. $? told the error status of
`tee`, though, not the test programs! So no test failures were counted, even
when some tests clearly failed. I changed the test script to use a shell
subroutine, `catch_out_err_and_rc`, to catch test programs' output and result
code. 28 Aug 2019 David Young e178ab0e11a Consolidate VFD SWMR variable declarations in a new header file,
H5FDvfd_swmr_private.h.
Perform tick processing in FUNC_ENTER_API_NOCLEAR, where it was missing.
Track the number of times the HDF5 library has been entered/exited through its
public API. Only perform tick processing on the first entry and last exit.
This stops us from performing tick processing in API calls invoked by
application callbacks. Performing tick processing in nested API calls led to
crashes.
Note well: FUNC_LEAV... 28 Aug 2019 dyoung 1f728439ddf In the error message, provide specific information that will help the
developer fix the error. 22 Aug 2019 ← Prev Next → require('plugin/commitgraph/network').applyCommits([{id: '2dd9c3b92fb9c91b6a2b1c3b78de37e91d201364', href: '/users/brtnfld/repos/hdf5_msb/commits/2dd9c3b92fb9c91b6a2b1c3b78de37e91d201364',parents: [{ id: 'c2b841f51394178a8b03092efc2bc85da82a6cff' }]},{id: 'c2b841f51394178a8b03092efc2bc85da82a6cff', href: '/users/brtnfld/repos/hdf5_msb/commits/c2b841f51394178a8b03092efc2bc85da82a6cff',parents: [{ id: '730b2fbcb2605ed7958dc6009105cef4548e76c9' }]},{id: '730b2fbcb2605ed7958dc6009105cef4548e76c9', href: '/users/brtnfld/repos/hdf5_msb/commits/730b2fbcb2605ed7958dc6009105cef4548e76c9',parents: [{ id: '19304abb517a5258275b8d15872931677151896f' }]},{id: '19304abb517a5258275b8d15872931677151896f', href: '/users/brtnfld/repos/hdf5_msb/commits/19304abb517a5258275b8d15872931677151896f',parents: [{ id: '743c9358d146d3d28e6cb023166763f0846442b9' }]},{id: '743c9358d146d3d28e6cb023166763f0846442b9', href: '/users/brtnfld/repos/hdf5_msb/commits/743c9358d146d3d28e6cb023166763f0846442b9',parents: [{ id: '82f647534c309ff97e4827fb95949954aeed4a26' }]},{id: '82f647534c309ff97e4827fb95949954aeed4a26', href: '/users/brtnfld/repos/hdf5_msb/commits/82f647534c309ff97e4827fb95949954aeed4a26',parents: [{ id: '09bb031cf19e656ef8646a1448af5206b1b1cc29' }]},{id: '09bb031cf19e656ef8646a1448af5206b1b1cc29', href: '/users/brtnfld/repos/hdf5_msb/commits/09bb031cf19e656ef8646a1448af5206b1b1cc29',parents: [{ id: '4311b2ef9def985cbabd35d6241f8a4ffc8e9230' }]},{id: '4311b2ef9def985cbabd35d6241f8a4ffc8e9230', href: '/users/brtnfld/repos/hdf5_msb/commits/4311b2ef9def985cbabd35d6241f8a4ffc8e9230',parents: [{ id: 'b1b98cfafe5acb229037e391c1e33812aa53b3bb' }]},{id: 'b1b98cfafe5acb229037e391c1e33812aa53b3bb', href: '/users/brtnfld/repos/hdf5_msb/commits/b1b98cfafe5acb229037e391c1e33812aa53b3bb',parents: [{ id: '5025be74eaf8b85d51ce74b6076c8c625dc9b9c2' }]},{id: '5025be74eaf8b85d51ce74b6076c8c625dc9b9c2', href: '/users/brtnfld/repos/hdf5_msb/commits/5025be74eaf8b85d51ce74b6076c8c625dc9b9c2',parents: [{ id: '20dd9b1372b58e4d8707dced082070f02c501e8c' }]},{id: '20dd9b1372b58e4d8707dced082070f02c501e8c', href: '/users/brtnfld/repos/hdf5_msb/commits/20dd9b1372b58e4d8707dced082070f02c501e8c',parents: [{ id: '38f3ece57a3b875b0c51bc4fcec53c973ac51978' }]},{id: '38f3ece57a3b875b0c51bc4fcec53c973ac51978', href: '/users/brtnfld/repos/hdf5_msb/commits/38f3ece57a3b875b0c51bc4fcec53c973ac51978',parents: [{ id: 'de33d5cb3c35524d20ca360794ae3e3c4febb5fe' }]},{id: 'de33d5cb3c35524d20ca360794ae3e3c4febb5fe', href: '/users/brtnfld/repos/hdf5_msb/commits/de33d5cb3c35524d20ca360794ae3e3c4febb5fe',parents: [{ id: 'f0596cea6537326f929fd9fc2c226485de1f97d9' }]},{id: 'f0596cea6537326f929fd9fc2c226485de1f97d9', href: '/users/brtnfld/repos/hdf5_msb/commits/f0596cea6537326f929fd9fc2c226485de1f97d9',parents: [{ id: '078db9375232f532cdf79077187dd1d519beab54' }]},{id: '078db9375232f532cdf79077187dd1d519beab54', href: '/users/brtnfld/repos/hdf5_msb/commits/078db9375232f532cdf79077187dd1d519beab54',parents: [{ id: '8b38c2ab1b45d53cafd5df2f4c356bb6b59dc536' }]},{id: '8b38c2ab1b45d53cafd5df2f4c356bb6b59dc536', href: '/users/brtnfld/repos/hdf5_msb/commits/8b38c2ab1b45d53cafd5df2f4c356bb6b59dc536',parents: [{ id: 'b5b9a8907e8f7346357ad060a3e13aad459713ab' }]},{id: 'b5b9a8907e8f7346357ad060a3e13aad459713ab', href: '/users/brtnfld/repos/hdf5_msb/commits/b5b9a8907e8f7346357ad060a3e13aad459713ab',parents: [{ id: 'a6b9394e8c289d374602c148608e4d39944792ef' }]},{id: 'a6b9394e8c289d374602c148608e4d39944792ef', href: '/users/brtnfld/repos/hdf5_msb/commits/a6b9394e8c289d374602c148608e4d39944792ef',parents: [{ id: '1b63ff60d245b08b4ace7d8947551248b5e89713' }]},{id: '1b63ff60d245b08b4ace7d8947551248b5e89713', href: '/users/brtnfld/repos/hdf5_msb/commits/1b63ff60d245b08b4ace7d8947551248b5e89713',parents: [{ id: '2fd118ceaf50d2f4f0774c48d4db656ebb79d1b0' }]},{id: '2fd118ceaf50d2f4f0774c48d4db656ebb79d1b0', href: '/users/brtnfld/repos/hdf5_msb/commits/2fd118ceaf50d2f4f0774c48d4db656ebb79d1b0',parents: [{ id: 'a68c2c92c3c0896cb83d2f9e85e69ecfd8744e4c' }]},{id: 'a68c2c92c3c0896cb83d2f9e85e69ecfd8744e4c', href: '/users/brtnfld/repos/hdf5_msb/commits/a68c2c92c3c0896cb83d2f9e85e69ecfd8744e4c',parents: [{ id: 'e4f9e45399f82d09510477d8d6e45438c08888cd' }]},{id: 'e4f9e45399f82d09510477d8d6e45438c08888cd', href: '/users/brtnfld/repos/hdf5_msb/commits/e4f9e45399f82d09510477d8d6e45438c08888cd',parents: [{ id: '35c049d6a4a9ebea49f23dc79f41b065df883036' }]},{id: '35c049d6a4a9ebea49f23dc79f41b065df883036', href: '/users/brtnfld/repos/hdf5_msb/commits/35c049d6a4a9ebea49f23dc79f41b065df883036',parents: [{ id: 'bddf3ff6a531a4a6a204e37d8f65a14e9953d171' }]},{id: 'bddf3ff6a531a4a6a204e37d8f65a14e9953d171', href: '/users/brtnfld/repos/hdf5_msb/commits/bddf3ff6a531a4a6a204e37d8f65a14e9953d171',parents: [{ id: '4d12df1d21893723c8482590cfc6447ce7034e5c' }]},{id: '4d12df1d21893723c8482590cfc6447ce7034e5c', href: '/users/brtnfld/repos/hdf5_msb/commits/4d12df1d21893723c8482590cfc6447ce7034e5c',parents: [{ id: '06806a27655c2bf776156bf7fbfc260f80c24a3a' }]},{id: '06806a27655c2bf776156bf7fbfc260f80c24a3a', href: '/users/brtnfld/repos/hdf5_msb/commits/06806a27655c2bf776156bf7fbfc260f80c24a3a',parents: [{ id: 'bd0c625e380db30673353d67c5dedb782e825b92' }]},{id: 'bd0c625e380db30673353d67c5dedb782e825b92', href: '/users/brtnfld/repos/hdf5_msb/commits/bd0c625e380db30673353d67c5dedb782e825b92',parents: [{ id: 'de2edbb238092bfc45f6ca27255acfa286bfe026' }]},{id: 'de2edbb238092bfc45f6ca27255acfa286bfe026', href: '/users/brtnfld/repos/hdf5_msb/commits/de2edbb238092bfc45f6ca27255acfa286bfe026',parents: [{ id: 'a8ebf7c54135214b0612aa6a731a2c7425506e0d' }]},{id: 'a8ebf7c54135214b0612aa6a731a2c7425506e0d', href: '/users/brtnfld/repos/hdf5_msb/commits/a8ebf7c54135214b0612aa6a731a2c7425506e0d',parents: [{ id: 'd4ecff831907084c37490e11d5dcb345e2a9326d' }]},{id: 'd4ecff831907084c37490e11d5dcb345e2a9326d', href: '/users/brtnfld/repos/hdf5_msb/commits/d4ecff831907084c37490e11d5dcb345e2a9326d',parents: [{ id: '0880c57d13ee2b3811ac22e7efdbc0130448e6bb' }]},{id: '0880c57d13ee2b3811ac22e7efdbc0130448e6bb', href: '/users/brtnfld/repos/hdf5_msb/commits/0880c57d13ee2b3811ac22e7efdbc0130448e6bb',parents: [{ id: 'b4746506450a9202c18f532a66be36bedb7f6cca' }]},{id: 'b4746506450a9202c18f532a66be36bedb7f6cca', href: '/users/brtnfld/repos/hdf5_msb/commits/b4746506450a9202c18f532a66be36bedb7f6cca',parents: [{ id: '57cfb035ada86e6ae0e165e6dc875bc89f4e57c3' }]},{id: '57cfb035ada86e6ae0e165e6dc875bc89f4e57c3', href: '/users/brtnfld/repos/hdf5_msb/commits/57cfb035ada86e6ae0e165e6dc875bc89f4e57c3',parents: [{ id: '89d3461a00ef5f5cc0b599f86cafedf96f6b51b6' }]},{id: '89d3461a00ef5f5cc0b599f86cafedf96f6b51b6', href: '/users/brtnfld/repos/hdf5_msb/commits/89d3461a00ef5f5cc0b599f86cafedf96f6b51b6',parents: [{ id: '752fb97ef320bf002c10e40a86c9299c9286f7b4' }]},{id: '752fb97ef320bf002c10e40a86c9299c9286f7b4', href: '/users/brtnfld/repos/hdf5_msb/commits/752fb97ef320bf002c10e40a86c9299c9286f7b4',parents: [{ id: '71499c852b0ba8eacaa35d7f878e71fc94fe0eb8' }]},{id: '71499c852b0ba8eacaa35d7f878e71fc94fe0eb8', href: '/users/brtnfld/repos/hdf5_msb/commits/71499c852b0ba8eacaa35d7f878e71fc94fe0eb8',parents: [{ id: '9cb455ca871751fe72c1ea8575ad6eb73fa4f915' }]},{id: '9cb455ca871751fe72c1ea8575ad6eb73fa4f915', href: '/users/brtnfld/repos/hdf5_msb/commits/9cb455ca871751fe72c1ea8575ad6eb73fa4f915',parents: [{ id: 'd001d0ec27b93f9676776b385411cad8c3573979' }]},{id: 'd001d0ec27b93f9676776b385411cad8c3573979', href: '/users/brtnfld/repos/hdf5_msb/commits/d001d0ec27b93f9676776b385411cad8c3573979',parents: [{ id: '73e07e25736d551fb0b95dbbbf04fec11abd994e' }]},{id: '73e07e25736d551fb0b95dbbbf04fec11abd994e', href: '/users/brtnfld/repos/hdf5_msb/commits/73e07e25736d551fb0b95dbbbf04fec11abd994e',parents: [{ id: 'f16d86d3e742a666a645a9e092a0781e465c9362' }]},{id: 'f16d86d3e742a666a645a9e092a0781e465c9362', href: '/users/brtnfld/repos/hdf5_msb/commits/f16d86d3e742a666a645a9e092a0781e465c9362',parents: [{ id: '2cb57cb92652fe758415b290f1df3552f3e67f5d' }]},{id: '2cb57cb92652fe758415b290f1df3552f3e67f5d', href: '/users/brtnfld/repos/hdf5_msb/commits/2cb57cb92652fe758415b290f1df3552f3e67f5d',parents: [{ id: '1f4dd5692d16a9638e8be3d208eb05ccaedd3c62' }]},{id: '1f4dd5692d16a9638e8be3d208eb05ccaedd3c62', href: '/users/brtnfld/repos/hdf5_msb/commits/1f4dd5692d16a9638e8be3d208eb05ccaedd3c62',parents: [{ id: '0a81436fab1692ed394f83b6d595ad9a32cbc285' }]},{id: '0a81436fab1692ed394f83b6d595ad9a32cbc285', href: '/users/brtnfld/repos/hdf5_msb/commits/0a81436fab1692ed394f83b6d595ad9a32cbc285',parents: [{ id: 'faf3336f522ec0e1764418e3b05b6d445520f857' }]},{id: 'faf3336f522ec0e1764418e3b05b6d445520f857', href: '/users/brtnfld/repos/hdf5_msb/commits/faf3336f522ec0e1764418e3b05b6d445520f857',parents: [{ id: '93352e65eae47a876297c87a943a97cc5c2dd1c8' }]},{id: '93352e65eae47a876297c87a943a97cc5c2dd1c8', href: '/users/brtnfld/repos/hdf5_msb/commits/93352e65eae47a876297c87a943a97cc5c2dd1c8',parents: [{ id: '70152bbd6ced53bb1491a4f50c887130e4fbad25' }]},{id: '70152bbd6ced53bb1491a4f50c887130e4fbad25', href: '/users/brtnfld/repos/hdf5_msb/commits/70152bbd6ced53bb1491a4f50c887130e4fbad25',parents: [{ id: '9e2d4344de72a5e69e28629a11d918675877dfe4' }]},{id: '9e2d4344de72a5e69e28629a11d918675877dfe4', href: '/users/brtnfld/repos/hdf5_msb/commits/9e2d4344de72a5e69e28629a11d918675877dfe4',parents: [{ id: '508cfab552d844c1ea313af99b5e815e87053c7c' }]},{id: '508cfab552d844c1ea313af99b5e815e87053c7c', href: '/users/brtnfld/repos/hdf5_msb/commits/508cfab552d844c1ea313af99b5e815e87053c7c',parents: [{ id: 'e178ab0e11a6d4ac8f3541549b03cfff1456b38a' }]},{id: 'e178ab0e11a6d4ac8f3541549b03cfff1456b38a', href: '/users/brtnfld/repos/hdf5_msb/commits/e178ab0e11a6d4ac8f3541549b03cfff1456b38a',parents: [{ id: '1f728439ddf4ac94d49ddd14fb72982b66b814fd' }]},{id: '1f728439ddf4ac94d49ddd14fb72982b66b814fd', href: '/users/brtnfld/repos/hdf5_msb/commits/1f728439ddf4ac94d49ddd14fb72982b66b814fd',parents: [{ id: '61109c76b2975c6c8347bfa6c0779624fbef1acc' }]}]);